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