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