Sobes.tech
Junior

Дар JavaScript, фарқияти байни усулҳои foreach ва map чист?

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 Жаңа массив
Массивті өзгерту Жаңа массив жасамайды Жаңа массив жасайды
Негізгі мақсаты Әрбір элементте әрекет орындау Массивті басқаға айналдыру
Әдіс тізбегі Табиғи түрде қолдау көрсетілмейді Қолдау көрсетіледі (массив қайтарады)