Was ist der Unterschied zwischen den Methoden foreach und map in JavaScript?
sobes.tech KI
Antwort von AI
forEach durchläuft die Elemente eines Arrays und führt für jedes Element eine Rückruffunktion aus, erstellt aber kein neues Array. Es wird für Nebenwirkungen verwendet, wie z.B. das Ausgeben in der Konsole oder das Ändern externer Variablen.
map durchläuft ebenfalls die Elemente eines Arrays und führt für jedes Element eine Rückruffunktion aus. Es gibt jedoch ein neues Array zurück, das die Ergebnisse der Ausführung dieser Funktion für jedes Element enthält. Es wird verwendet, um ein Array in ein anderes zu transformieren.
Beispiel mit forEach:
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Ausgabe:
// 2
// 4
// 6
// numbers bleibt [1, 2, 3]
Beispiel mit map:
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Ausgabe: [2, 4, 6]
// numbers bleibt [1, 2, 3]
Der Hauptunterschied besteht darin, dass map eine "funktionale" Methode ist, die das ursprüngliche Array nicht verändert und ein neues zurückgibt, während forEach hauptsächlich für Aktionen an jedem Element ohne Rückgabe eines neuen Arrays gedacht ist.
| Kriterium | forEach |
map |
|---|---|---|
| Rückgabewert | undefined |
Neues Array |
| Array-Änderung | Erstellt kein neues Array | Erstellt ein neues Array |
| Hauptzweck | Durchführung von Aktionen an jedem Element | Umwandlung eines Arrays in ein anderes |
| Methodenkette | Wird nicht nativ unterstützt | Wird unterstützt (gibt ein Array zurück) |