Wat is het verschil tussen de methoden foreach en map in JavaScript?
sobes.tech AI
Antwoord van AI
forEach door de elementen van een array en voert een callback-functie uit voor elk element, maar creëert geen nieuwe array. Het wordt gebruikt voor bijwerkingen, zoals het afdrukken naar de console of het wijzigen van externe variabelen.
map doorloopt ook de elementen van de array en voert voor elk element een callback-functie uit. Het retourneert echter een nieuwe array met de resultaten van het uitvoeren van deze functie op elk element. Het wordt gebruikt om een array in een andere te transformeren.
Voorbeeld met forEach:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Uitvoer:
// 2
// 4
// 6
// numbers blijft [1, 2, 3]
Voorbeeld met map:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Uitvoer: [2, 4, 6]
// numbers blijft [1, 2, 3]
Het belangrijkste verschil is dat map een "functionele" methode is die het originele array niet wijzigt en een nieuwe retourneert, terwijl forEach vooral bedoeld is om acties uit te voeren op elk element zonder een nieuw array terug te geven.
| Criteria | forEach |
map |
|---|---|---|
| Teruggegeven waarde | undefined |
Nieuw array |
| Array wijzigen | Maakt geen nieuw array | Maakt een nieuw array |
| Hoofddoel | Acties uitvoeren op elk element | Array omzetten in een andere |
| Method chaining | Wordt niet natively ondersteund | Wordt ondersteund (retourneert een array) |