Array. prototype. forEach()
Wywołuje funkcję dla każdego elementu tablicy.
- Zwraca
undefined- Zmienia oryginał
- Nie
Przykład
#const modules = ['HTML', 'CSS', 'JavaScript']
modules.forEach((module, index) => {
console.log(`${index + 1}. ${module}`)
})Definicja i zastosowanie
#Metoda forEach() przechodzi po kolejnych elementach tablicy i dla każdego wywołuje podaną funkcję. Nie zwraca żadnej wartości (zawsze undefined), więc służy do efektów ubocznych: wypisywania, zapisywania, dodawania elementów do strony.
Pętli forEach() nie da się przerwać instrukcją break. Jeśli chcesz zakończyć wcześniej, użyj zwykłej pętli for...of albo metod some() lub find().
Nie działa też dobrze z await: funkcje asynchroniczne w forEach() nie są na siebie czekane. Do kolejnych operacji asynchronicznych lepsza jest pętla for...of.
Składnia
#array.forEach(callbackFn)
array.forEach(callbackFn, thisArg)Parametry
#callbackFn
function (element, index, array)
Funkcja wywoływana dla każdego elementu.thisArg
opcjonalny
Wartośćthiswewnątrz funkcji.
Więcej przykładów
#const result = [1, 2, 3].forEach((n) => n * 2)
console.log(result)Obsługa przeglądarek
#Szeroko dostępne
Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.
- Chrome
- Edge
- Firefox
- Safari
Dobre praktyki
#- Jeśli budujesz nową tablicę z wyników, użyj
map()zamiastforEach()zpush(). - Do pętli z
awaiti do przerywania pętli wybierzfor...of.
Powiązane hasła
#- Array.prototype.map()Tworzy nową tablicę z wynikami wywołania funkcji dla każdego elementu.
- for...ofPrzechodzi po kolejnych wartościach obiektu iterowalnego: tablicy, napisu, Map, Set i innych.
- Array.prototype.some()Sprawdza, czy przynajmniej jeden element spełnia warunek.
- Array.prototype.reduce()Sprowadza całą tablicę do jednej wartości, np. sumy, obiektu lub nowej tablicy.
Widzisz błąd albo brakuje przykładu? Napisz do nas.