Как младший разработчик JS, вам нужно будет работать с данными. Независимо от того, находится ли это на бэкэнде или во внешнем интерфейсе, вы везде увидите массив. Вот три ключа для работы с массивами и что вам нужно о них знать.

TLDR: .forEach() работает с данными, .map() манипулирует данными, .filter() сохраняет значение true

.для каждого()

Если вы младший разработчик, я бы предположил, что вы изучили циклы с синтаксисом, похожим на:

Если это правда. Все, что делает .forEach(), — это упрощает этот синтаксис. Он не изменяет текущий массив, не возвращает новый массив и вообще ничего особенного. он просто позволяет вам что-то делать с этим массивом. Очень простой пример, когда мы хотим подсчитать значения в массиве, превышающие число 2, записанное в этом формате, может выглядеть так:

Точно такую ​​же задачу можно написать с помощью цикла .forEach(), например:

ОБА этих примера заканчиваются нашей «переменной over2, равной 3.

.карта()

.map() работает с массивами аналогично .forEach(), но существенное отличие состоит в том, что каждая итерация по массиву должна возвращать значение. Когда итерация делает это, она создает новый массив, который возвращается функцией карты.

Если вы хотите взять массив чисел и удвоить каждое значение в нем, вы можете сделать это с помощью цикла .forEach(), аналогичного приведенному выше примеру, с чем-то вроде:

В приведенном выше примере наша 'удвоенная' переменная будет массивом со значениями [2,4,6,8,10] в строке 7. При этом это следует сделать с помощью файла . функция карта(). Поскольку .map() ВОЗВРАЩАЕТ значения для каждой итерации, синтаксис упрощается, и нам не нужно заранее инициализировать «удвоенную» переменную. Мы можем просто написать:

Оба приведенных выше примера заканчиваются одним и тем же «удвоенным» значением. Это особенно полезно при работе с внешним интерфейсом с такими библиотеками, как React, где мы можем брать массивы данных и использовать .map() для возврата блоков HTML в ваши компоненты.

.фильтр()

Функцию .filter() можно использовать аналогично функции .map(). Это связано с тем, что функция .filter() также возвращает новый массив после завершения цикла.

.filter() работает на основе условия, которое возвращается в его функции обратного вызова. Это означает, что функция внутри .filter() должна возвращать логическое значение. Это можно сделать несколькими способами, но я продемонстрирую идею, аналогичную циклу .forEach() выше: есть массив чисел, и мы хотим отфильтровать все числа, которые больше 2. Используя фильтр, это может выглядеть так:

Функция обратного вызова, передаваемая в .filter(), возвращает сравнение: «num › 2». Это всегда будет возвращать логическое значение. Что делает фильтр, так это сохраняет исходное значение, в данном случае наше «число», если условие истинно. Если условие ложно, исходное значение будет удалено из исходного массива.

В приведенном выше примере наша константа «over2» будет равна [3, 4, 5].

Если вы только начинаете изучать JavaScript, я надеюсь, что это было полезно для понимания некоторых общих методов, которые увидят все разработчики JS.