Если вы только знакомитесь с функциями высшего порядка в 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/