Всем привет, сегодня мы поговорим о некоторых продвинутых функциях массивов 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;
})

Это все на данный момент.

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