Sobes.tech
Junior

Kāda ir atšķirība starp foreach un map metodēm JavaScript?

sobes.tech AI

Atbilde no AI

forEach pārbauda masīva elementus un izpilda atgriezeniskās izsaukšanas funkciju katram elementam, bet nesasniedz jaunu masīvu. To izmanto blakus efektiem, piemēram, konsoles izvadīšanai vai ārējo mainīgo maiņai.

map arī pārbauda masīva elementus un izpilda atgriezeniskās izsaukšanas funkciju katram elementam. Tomēr tas atgriež jaunu masīvu, kas satur šīs funkcijas rezultātus katram elementam. To izmanto viena masīva pārveidošanai par citu.

Piemērs ar forEach:

const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Izvade:
// 2
// 4
// 6
// numbers paliek [1, 2, 3]

Piemērs ar map:

const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Izvade: [2, 4, 6]
// numbers paliek [1, 2, 3]

Galvenā atšķirība ir tā, ka map ir "funkcionāla" metode, kas nemaina sākotnējo masīvu un atgriež jaunu, kamēr forEach ir paredzēts galvenokārt darbībām katram elementam bez jauna masīva atgriešanas.

Kritērijs forEach map
Atgriežamā vērtība undefined Jauns masīvs
Masīva maiņa Nesasniedz jaunu masīvu Izveido jaunu masīvu
Galvenais mērķis Darbību veikšana katram elementam Masīva pārveidošana par jaunu masīvu
Metožu ķēdēšana Dabiski neizpildāma Atbalstīta (atgriež masīvu)