Если вы только знакомитесь с функциями высшего порядка в javascript, вы можете запутаться с картами, для каждого фильтровать и уменьшать.

Это непрерывная серия, которая широко объясняет четыре концепции, а также различает их, чтобы вы знали, какие из них использовать в определенный момент времени.

В этой первой части серии мы узнаем о forEach в javascript.

Важно отметить, что forEach всегда возвращает неопределенное значение. forEach - это итератор javascript, поэтому он также является картой и фильтром. Итераторы — это встроенные методы Javascript для массивов, которые можно использовать на месте или в циклах. Однако проблема заключается в выборе правильного итератора за раз.

forEach использует функцию обратного вызова для своих операций и выполняет функцию один раз для каждого предоставленного элемента. Он не возвращает массив, в отличие от map.forEach, который перебирает массив, выполняет функцию обратного вызова, но возвращает значения в массиве. Используете ли вы ключевое слово return в итераторе forEach или нет, это не имеет значения. Он всегда возвращает неопределенное значение. Функция обратного вызова может иметь до трех параметров. Первое — это значение по индексу текущего массива, второе — текущий индекс массива, а третье — сам массив.

Давайте рассмотрим несколько примеров:

Дан массив из пяти элементов в порядке возрастания, выведите различные значения массива.

Пусть arr= [1,2,3,4,5];

arr.forEach (функция (val, index, arr) {

console.log(значение)

Ответ в консоли:

1

2

3

4

5

Если вы решите включить в console.log индекс
console.log(index),

Ответ в консоли:
0

1

2

3

4

Здесь val представляет значение массива, index представляет собой индекс массива, а arr представляет сам массив.

Кроме того, вам не обязательно использовать три параметра в функции обратного вызова forEach. Вы можете использовать один параметр, два параметра или три параметра. Результат остается прежним.

Пример:
Пусть arr = [1,2,3,4]

arr.forEach (функция (val) {

console.log(значение)

Ответ в консоли:
1

2

3

4

Рассмотрим другой пример:
Напишите функцию, которая возвращает новый массив, все значения которого увеличены на десять.

Функция увеличилаByTen(десять) {

Позвольте увеличитьArray = [];

ten.forEach (функция (значение) {

увеличил Array.push (значение + 10);

})

вернуть увеличенный массив;

Если значение десять = [2,4,6,8,10]

увеличенный массив = [12,14,16,18,20].

Здесь причина, по которой мы использовали функцию push, заключается в том, что forEach не возвращает массив. Вместо этого он возвращает значение undefined.

Это одно из различий между map и forEach.

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

Мой твиттер-дескриптор: https://twitter.com/mchelleOkonicha

Мой дескриптор LinkedIn: https://www.linkedin.com/in/buchi-michelle-okonicha-0a3b2b194/