Devs Hive
Повернутися до всіх запитань

Яка різниця між map і forEach в Array

JavaScriptJunior
Зустрічали на інтервʼю:1 користувач

Доволі багато запитань на інтервʼю стосується методів масиву. Вас можуть запитати, які методи ви, до прикладу, знаєте. І коли ви закінчите перелік, одне з питань може звучати так: “Яка різниця між методами map і forEach в масиві і в яких випадках краще використовувати кожний з них? ”

На технічній співбесіді, варто сказати, що вони обоє перебирають масив, але різниця полягає в тому, що метод map імутабельний і він буде створювати новий масив на основі вихідного, а метод forEach просто його перебере, без повернення якогось результату.

Розберемо приклад

Ви будете перемножувати кожний елемент масиву і потім повертати результат. У випадку з map - ви отримаєте новий масив, з forEach - вам доведеться використовувати замкнення для того, щоб зберігати результат.

// Використання map
const numbers = [1, 2, 3, 4];

const squares = numbers.map((n) => n * n);

console.log(squares); // [1, 4, 9, 16]
console.log(numbers); // [1, 2, 3, 4] - оригінал не змінився, так як map імутабельний

// Використання forEach
const numbers = [1, 2, 3, 4];
const squares = [];

numbers.forEach((n) => {
// Використовуємо замкнення, щоб зберігати результат
squares.push(n * n);
});

console.log(squares); // [1, 4, 9, 16]
console.log(numbers); // [1, 2, 3, 4]

Зустрічав на інтервʼю?

Коментарі (0)

Увійдіть, щоб залишити коментар

Поки що немає коментарів. Будьте першим!