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) |