JavaScriptda foreach va map metodlari orasidagi farq nima?
sobes.tech AI
AIdan javob
forEach massiv elementlarini aylanib chiqadi va har bir element uchun qayta chaqirish funksiyasini bajaradi, ammo yangi massiv yaratmaydi. Bu konsolga chiqarish yoki tashqi o'zgaruvchilarni o'zgartirish kabi yon ta'sirlar uchun ishlatiladi.
map ham massiv elementlarini aylanib chiqadi va har bir element uchun qayta chaqirish funksiyasini bajaradi. Biroq, u har bir elementda ushbu funksiyaning bajarilish natijalarini o'z ichiga olgan yangi massivni qaytaradi. Bu bir massivni boshqasiga aylantirish uchun ishlatiladi.
forEach bilan misol:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Chiqish:
// 2
// 4
// 6
// numbers [1, 2, 3] qoladi
map bilan misol:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Chiqish: [2, 4, 6]
// numbers [1, 2, 3] qoladi
Asosiy farq shundaki, map "funktsional" usul bo'lib, asl massivni o'zgartirmaydi va yangi massivni qaytaradi, forEach esa asosan har bir elementda amal bajarish uchun mo'ljallangan va yangi massivni qaytarmaydi.
| Mezon | forEach |
map |
|---|---|---|
| Qaytadigan qiymat | undefined |
Yangi massiv |
| Massivni o'zgartirish | Yangi massiv yaratmaydi | Yangi massiv yaratadi |
| Asosiy maqsad | Har bir elementda amal bajarish | Bir massivni boshqasiga aylantirish |
| Metodlarni zanjirlash | Tabiiy ravishda qo'llab-quvvatlanmaydi | Qo'llab-quvvatlanadi (massiv qaytaradi) |