8.1 Metoda forEach()
Metody iterujące tablic w JavaScript dostarczają potężnych narzędzi do pracy z tablicami, pozwalając wykonywać
różne operacje na ich elementach. W tym temacie omówimy kluczowe metody iterujące, w tym
forEach()
, map()
, filter()
, reduce()
, some()
,
every()
, find()
, i findIndex()
.
Metoda forEach()
wykonuje podaną funkcję jeden raz dla każdego elementu tablicy. Ta metoda nie zwraca nowej tablicy i nie przerywa działania.
Składnia:
array.forEach(function(element, index, array) {
// ciało funkcji
});
Przykład:
Metoda forEach()
przechodzi przez każdy element tablicy numbers[]
i wyświetla jego indeks oraz wartość.
const numbers = [1, 2, 3, 4, 5];
numbers.forEach((number, index) => {
console.log(`Index: ${index}, Value: ${number}`);
});
// Wyjście:
// Index: 0, Value: 1
// Index: 1, Value: 2
// Index: 2, Value: 3
// Index: 3, Value: 4
// Index: 4, Value: 5
8.2 Metoda map()
Metoda map()
tworzy nową tablicę z wynikami wywołania podanej funkcji na każdym elemencie tablicy.
Składnia:
const newArray = array.map(function(element, index, array) {
// ciało funkcji
return nowa_wartość;
});
Funkcję-przetwarzającą można także zapisać w formie strzałki:
const newArray = array.map((element, index, array) => nowa_wartość);
Przykład:
Metoda map()
tworzy nową tablicę squared[]
, zawierającą kwadraty liczb z tablicy numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const squared = numbers.map(number => number * number);
console.log(squared); // [1, 4, 9, 16, 25]
8.3 Metoda filter()
Metoda filter()
tworzy nową tablicę ze wszystkimi elementami, które przeszły test określony w podanej funkcji.
const newArray = array.filter(function(element, index, array) {
// ciało funkcji
return warunek;
});
Funkcję-filtr można także zapisać w formie strzałki:
const newArray = array.filter((element, index, array) => warunek);
Przykład:
Metoda filter()
tworzy nową tablicę evenNumbers[]
, zawierającą tylko parzyste liczby z tablicy numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(number => number % 2 === 0);
console.log(evenNumbers); // [2, 4]
8.4 Metoda reduce()
Metoda reduce()
stosuje funkcję do akumulatora i każdego elementu tablicy (od lewej do prawej), sprowadzając ją do jednej wartości.
Składnia:
const result = array.reduce(function(accumulator, current, index, array) {
// ciało funkcji
return nowa_wartość_akumulatora;
}, initialValue);
Funkcję-akumulator można także zapisać w formie strzałki:
const result = array.reduce((accumulator, current, index, array) =>
nowa_wartość, initialValue
);
Przykład:
Metoda reduce()
sprowadza tablicę numbers[]
do jednej wartości sum
, sumując wszystkie elementy tablicy.
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((acc, number) => acc + number, 0);
console.log(sum); // 15
8.5 Metoda some()
Metoda some()
sprawdza, czy przynajmniej jeden element tablicy spełnia warunek określony w
przekazanej funkcji. Zwraca true
lub false
.
Składnia:
const result = array.some(function(element, index, array) {
// ciało funkcji
return warunek;
});
Funkcję-sprawdzenie można także zapisać w formie strzałki:
const result = array.some((element, index, array) => warunek);
Przykład:
Metoda some()
sprawdza, czy w tablicy numbers[]
znajduje się przynajmniej jedno parzyste liczba, i zwraca true
.
const numbers = [1, 2, 3, 4, 5];
const hasEvenNumber = numbers.some(number => number % 2 === 0);
console.log(hasEvenNumber); // true
8.6 Metoda every()
Metoda every()
sprawdza, czy wszystkie elementy tablicy spełniają warunek określony w przekazanej funkcji. Zwraca true
lub false
.
Składnia:
const result = array.every(function(element, index, array) {
// ciało funkcji
return warunek;
});
Funkcję-sprawdzenie można także zapisać w formie strzałki:
const result = array.every((element, index, array) => warunek);
Przykład:
Metoda every()
sprawdza, czy wszystkie elementy tablicy numbers[]
są dodatnie, i zwraca true
.
const numbers = [1, 2, 3, 4, 5];
const allPositive = numbers.every(number => number > 0);
console.log(allPositive); // true
8.7 Metoda find()
Metoda find()
zwraca pierwszy element tablicy, który spełnia warunek określony w przekazanej
funkcji. Jeśli żaden element nie spełnia warunku, zwraca undefined
.
Składnia:
const result = array.find(function(element, index, array) {
// ciało funkcji
return warunek;
});
Funkcję-sprawdzenie można także zapisać w formie strzałki:
const result = array.find((element, index, array) => warunek);
Przykład:
Metoda find()
zwraca pierwszą parzystą liczbę z tablicy numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const firstEven = numbers.find(number => number % 2 === 0);
console.log(firstEven); // 2
8.8 Metoda findIndex()
Metoda findIndex()
zwraca indeks pierwszego elementu tablicy, który spełnia warunek określony w przekazanej
funkcji. Jeśli żaden element nie spełnia warunku, zwraca -1
.
Składnia:
const result = array.findIndex(function(element, index, array) {
// ciało funkcji
return warunek;
});
Funkcję-sprawdzenie można także zapisać w formie strzałki:
const result = array.findIndex((element, index, array) => warunek);
Przykład:
Metoda findIndex()
zwraca indeks pierwszej parzystej liczby w tablicy numbers[]
.
const numbers = [1, 2, 3, 4, 5];
const firstEvenIndex = numbers.findIndex(number => number % 2 === 0);
console.log(firstEvenIndex); // 1
GO TO FULL VERSION