Корги съел мое задание по JavaScript в Массачусетском технологическом институте.🍦

Назначение JavaScript для обратных вызовов для ботаников MIT MERN 🟨🍦🤓

Уважаемые 👋💻 MERN Nerds,

ОБУЧЕНИЕ ПРОГРАММИРОВАНИЮ

✧・゚:* МИЛОЕ(◕‿◕✿) и ИНФОРМАТИВНОЕᕙ(⇀‸↼‶)ᕗ!!!

Что такое обратный вызов в JS? 📞 🔙

Обратный вызов – это функция, которая передается в качестве аргумента в другую функцию. Этот метод позволяет функции вызывать другую функцию, отсюда и название Callback.

Почему мы должны использовать обратный вызов?

Обратные вызовы📞 🔙 гарантируют, что функция не будет запущена до задачи завершения но будет запускаться сразу после завершения задачи ✅.

Упражнение 1: Использование цикла For Each ➰

Теперь ваша очередь использовать forEach

Гол 🥅

Это действие заключается в реализации функции createParagraph, которая принимает массив строк и возвращает одну строку, содержащую все элементы массива, разделенные символом space.

Код указан

let words = ['Loops', 'are', 'a', 'great', 'way', 'to', 'find', 'elements', 'in', 'an', 'array'];
function createParagraph(words) {
   let paragraph = '';
   // TODO: Write a foreach function 
   return paragraph;
}
console.log(createParagraph(words));

Вывод

Циклы — отличный способ поиска элементов в массиве

Шаг 1.Получить данные массива из параметра в функции создания абзаца с именем words. Поскольку это массив, мы присоединим метод forEach.

words.forEach((word) => {  });

Шаг 2.Получить пустую строковую переменную с именем абзац и сцепить слово и пробел из forEarch.

Код Решение 🖥️ ✅

let words = ['Loops', 'are', 'a', 'great', 'way', 'to', 'find', 'elements', 'in', 'an', 'array'];
function createParagraph(words) {
   let paragraph = '';
   
   words.forEach((word) => {          //
        paragraph += word + ' ';      // Solution 
   });                                //
   return paragraph;
}
console.log(createParagraph(words));

Упражнение 2: Давайте попрактикуемся в обратных вызовах📞 🔙

Гол 🥅

Ваша задача в этом упражнении — создать функцию с именем filterArray, которая принимает 2 аргумента:

  • myArray: Массив чисел.
  • isEvenCallBack: функция, которая возвращает логическое значение true, если число четное, и false, если оно нечетное.

Ваша задача — реализовать функцию isEvenCallBack, а затем передать ее callback function в filterArray. Затем функция filterArray должна вернуть массив, содержащий только четные числа.

Совет. В файле callbacks.js есть комментарии, которые помогут вам выполнить эту задачу

Проверьте результаты в консоли. Если ваш код работает, он должен вывести [2, 6, 12]

Код:

// This is the array that contains numbers for you to work with
var myArray = [1, 2, 5, 6, 12, 23, 15, 31];
// This array should only contain even numbers
var evenArray = [];
// This code will call your function when the page loads u
// Don't edit this function!
window.onload = () => {
   console.log(filterArray(myArray, isEvenCallBack));
};

function filterArray(myArray, isEvenCallBack) {
   // TODO: use filterArray to determine if a number is even or odd.
   // If the number is even, add it to the array 'evenArray'

    return evenArray;
}
// This function should return 'true' if a number is even and 'false' if a number is odd
function isEvenCallBack(number) {
    // TODO: use the mod operator (%) to determine if number is even or odd
}

Код Решение 🖥️ ✅

// This is the array that contains numbers for you to work with
var myArray = [1, 2, 5, 6, 12, 23, 15, 31];
// This array should only contain even numbers
var evenArray = [];
function filterArray(myArray, isEvenCallBack) {
   // TODO: use filterArray to determine if a number is even or odd.
   // If the number is even, add it to the array 'evenArray'
   for (let index = 0; index < myArray.length; index++) {
      if (isEvenCallBack(myArray[index])) {
      
          evenArray.push(myArray[index]);
      }
   }
   return evenArray;
}
// This function should return 'true' if a number is even and 'false' if a number is odd
function isEvenCallBack(number) {
// TODO: use the mod operator (%) to determine if number is even or odd
   if (number % 2 == 0) return true;
   else return false; 
}
// This code will call your function when the page loads up
// Don't edit this function!
window.onload = () => {
    console.log(filterArray(myArray, isEven));
};

Упражнение 3.Найдите самые распространенные слова

Гол 🥅

В начальном коде уже реализованы некоторые из этих функций.

Просмотрите код в файле wordcount.js и прочитайте комментарии, чтобы понять, как эта логика будет работать.

Ваша задача – вывести на консоль первые три наиболее часто встречающихся слова, встречающихся в заданном тексте.

Примечания:

  • В начальном коде некоторые комментарии начинаются со слов "TO DO". Здесь вы можете добавить строки кода для решения этого задания.
  • Слова нужно очистить от знаков препинания. Для этого вы можете использовать регулярное выражение и «заменить» или избавиться от любых знаков препинания другим способом. Это зависит от вас!
  • Осторожно, корпус. Компилятор JavaScript не считает строчную и прописную буквы одной и той же буквой, как это делают люди. Чтобы избежать этого, настройте всю строку в нижнем регистре.

Код Решение 🖥️ ✅

// Count words in text and then order with
// most common first
window.onload = () => {
   let result = countWords();
   console.log(result);
};
function countWords() {
     let text = "Some of the biggest and most expensive transportation projects in the world have involved building bridges. Bridges are crucial links that carry cars, trucks and trains across bodies of water, mountain gorges or other roads. As a result, they are one of the most important aspects of civil engineering and are subject to intense scrutiny, especially when they collapse. Bridge collapses can be tragic events, leading to loss of life and serious property damage. That is why bridge engineers, designers and builders must always take their jobs very seriously. The best way for them to prevent these accidents is to understand why bridges collapse in the first place. Understanding bridge collapses can lead to major changes in the design, construction and safety of future building projects. The following are main reasons why bridges fall.";
     // Remove the periods and commas and make all lowercase letters
     text = text.replace(/[.,]/g, "");
     text = text.toLocaleLowerCase();
     const wordArray = text.split(" ");
     console.log(wordArray);
     // Create object and make keys the "words" and the value the "word count"
     const wordCount = {};
     wordArray.forEach((item) => {
        if (wordCount[item] == null) wordCount[item] = 1;
        else {
            wordCount[item] += 1;
        }
     });
   // Turn objects into an array of arrays
   let myArray = Object.entries(wordCount);
   // Now sort the arrays based on the count number
   let bArray = myArray.sort((a, b) => (a[1] < b[1] ? 1 : a[1] > b[1] ? -1 : 0)).slice(0, 3);
   // print out first three most commons words.
   return bArray;
}

Спасибо, что прочитали мое путешествие по программированию ❤,

Корги-кодировщик Коди и очаровательный ИИ Битс

P.S.

Если вам понравился этот комикс и вы можете чем-то помочь, подпишитесь на нашу информационную рассылку или купите мне кофе, что означает лот, и присылайте свои мысли и чувства по поводу этой работы.

Вы заинтересованы в сотрудничестве? Подпишитесь на нас в LinkedIn.

Д.М. нас в Instagramили твитните нас в Twitterили свяжитесь с нами в LinkedIn.

Пожалуйста, поделитесь этим со своими друзьями-данными, друзьями-корги и друзьями-корги-программистами, чтобы мы могли сделать больше комиксов в будущем с вашей поддержкой. Спасибо!

ИСПОЛЬЗОВАННАЯ ЛИТЕРАТУРА

MIT X PRO Профессиональный сертификат в области кодирования: разработка полного стека с MERN