Sobes.tech
Junior

Каква е разликата между методите foreach и map в JavaScript?

sobes.tech AI

Отговор от AI

forEach преминава през елементите на масив и изпълнява функция за обратно извикване за всеки елемент, но не създава нов масив. Той се използва за странични ефекти, като извеждане в конзолата или промяна на външни променливи.

map също преминава през елементите на масива и изпълнява функция за обратно извикване за всеки елемент. Въпреки това, той връща нов масив, съдържащ резултатите от изпълнението на тази функция за всеки елемент. Той се използва за преобразуване на един масив в друг.

Пример с forEach:

const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Изход:
// 2
// 4
// 6
// масивът numbers остава [1, 2, 3]

Пример с map:

const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Изход: [2, 4, 6]
// масивът numbers остава [1, 2, 3]

Ключовата разлика е, че map е "функционален" метод, който не променя оригиналния масив и връща нов, докато forEach е предназначен предимно за изпълнение на действия върху всеки елемент без връщане на нов масив.

Критерий forEach map
Връщана стойност undefined Нов масив
Промяна на масива Не създава нов масив Създава нов масив
Основна цел Изпълнение на действия върху всеки елемент Преобразуване на масив в друг
Верижно използване Не се поддържа по подразбиране Поддържа се (връща масив)