Всем привет, сегодня мы поговорим о некоторых продвинутых функциях массивов JS forEach() и map(), которые могут показаться неоднозначными большинству новичков.
Ниже приведены фрагменты кода для этих функций массива,
array.forEach((item) => { // your code }); const mapArr = array.map((item) => { // some code return; //In map() function must always return some value });
Здесь forEach() просто перебирает что-то и делает все, что говорит функция. И с помощью map() мы перебираем каждый элемент и возвращаемся в новом массиве.
Эй, кажется, оба делают одно и то же, верно? Но между ними есть критическая разница. Всякий раз, когда мы хотим сделать простой цикл и выполнить действие над массивом, мы используем map(), у него есть ограничение на операции, он ожидает, что операция вернет элемент. По сути, map() перебирает массив, применяя операцию к каждому элементу и, наконец, сохраняя результат каждого вызова операции в другой массив. С другой стороны, с forEach() операция может ничего не делать, мы можем просто оставить ее полностью пустой или напечатать что-то в консоли, потому что все, о чем заботится forEach(), — это перебирать набор элементов и применять любое действие, которое мы ему укажем. сделать на каждом элементе. Другими словами, map() преобразует массив и создает из него новый массив, а foreEach() выполняет ряд действий на основе массива.
В forEach(), чтобы вернуть новый массив, мы должны сначала создать свой собственный массив, а затем поместить в него эти элементы.
Давайте разберемся на примере,
const arr = [1, 2, 3, 4] const squaredArr = []; arr.forEach((item) => { squaredArr.push(item * item) })
В приведенном выше коде мы создаем отдельный массив для хранения значений операций. Теперь давайте посмотрим, как это выглядит с помощью map(),
const squaredArr = arr.map((item) => { return item * item; })
Это все на данный момент.
Спасибо, что нашли время, чтобы прочитать это! Надеюсь, эта статья окажется для вас полезной. Увидимся позже!! П-пока..👋