czwartek,
JS: Tablice
W programowaniu tablice są kontenerem uporządkowanych danych, a dostęp do ich elementów można uzyskać za pomocą kluczy (indeksów). Jest to jeden z najważniejszych i najbardziej wszechstronnych typów danych.
Podstawowe informacje
- Tablica jest zmienną, która może przechowywać wiele wartości w jednej lokalizacji. Różne wartości w tablicy są dostępne za pomocą indeksów numerycznych, z których pierwszy wynosi zero.
Tablicę można utworzyć za pomocą literału tablicowego lub konstruktora
Array
.Literał tablicowy:
let mojaTablica = [1, 2, 3, 4, 5];
Konstruktor
Array
:let mojaTablica = new Array(1, 2, 3, 4, 5);
Tablice w JavaScript mogą przechowywać elementy różnych typów w tej samej tablicy, w tym liczby, ciągi znaków, obiekty i inne tablice.
Właściwość
length
tablicy zwraca liczbę jej elementów.console.log(mojaTablica.length); // Wyświetli 5
W JavaScript tablice są typem obiektu, co oznacza, że mogą zawierać właściwości i metody.
- Tablice w JavaScript mogą zawierać inne tablice, tworząc tablice wielowymiarowe.
Dostęp do elementu tablicy można uzyskać za pomocą jego indeksu
let pierwszyElement = mojaTablica[0]; // 1 mojaTablica[1] = 200; // Zmiana drugiego elementu
Metody obiektu Array
Obiekt Array
w JavaScript posiada wiele metod, które pozwalają na efektywną pracę z tablicami.
Dodawanie/usuwanie elementów
push()
: Dodaje jeden lub więcej elementów na koniec tablicy i zwraca nową długość tablicy.pop()
: Usuwa ostatni element z tablicy i zwraca go.shift()
: Usuwa pierwszy element z tablicy i zwraca go.unshift()
: Dodaje jeden lub więcej elementów na początek tablicy i zwraca nową długość tablicy.splice()
: Dodaje/usuwa elementy z tablicy.
Iteracja po elementach
forEach()
: Wykonuje podaną funkcję raz dla każdego elementu w tablicy.map()
: Tworzy nową tablicę z wynikami wywołania podanej funkcji na każdym elemencie w tablicy.filter()
: Tworzy nową tablicę ze wszystkimi elementami, które spełniają warunek zdefiniowany w podanej funkcji.reduce()
: Wykonuje funkcję redukującą na każdym elemencie tablicy, zwracając pojedynczą wartość wynikową.
Wyszukiwanie elementów
indexOf()
: Zwraca pierwszy indeks, na którym dany element może zostać znaleziony w tablicy, lub -1, jeśli go nie ma.lastIndexOf()
: Zwraca ostatni indeks, na którym dany element może zostać znaleziony w tablicy, lub -1, jeśli go nie ma.find()
: Zwraca wartość pierwszego elementu w tablicy, który spełnia podaną funkcję testującą.findIndex()
: Zwraca indeks w tablicy pierwszego elementu, który spełnia podaną funkcję testującą.includes()
: Sprawdza, czy tablica zawiera dany element, zwracająctrue
lubfalse
.
Tworzenie nowych tablic
slice()
: Wyodrębnia część tablicy i zwraca ją jako nową tablicę.concat()
: Łączy dwie lub więcej tablic w jedną nową tablicę.
Inne metody
join()
: Łączy wszystkie elementy tablicy w jeden ciąg.sort()
: Sortuje elementy tablicy in situ i zwraca tablicę.reverse()
: Odwraca kolejność elementów tablicy in situ.
Metody sprawdzające
every()
: Sprawdza, czy wszystkie elementy w tablicy spełniają warunek zdefiniowany w podanej funkcji.some()
: Sprawdza, czy chociaż jeden element w tablicy spełnia warunek zdefiniowany w podanej funkcji.
Przykłady
let liczby = [1, 2, 3, 4, 5];
// Używanie map() do stworzenia nowej tablicy
let kwadraty = liczby.map(x => x * x); // [1, 4, 9, 16, 25]
// Używanie filter() do wyfiltrowania elementów
let parzyste = liczby.filter(x => x % 2 === 0); // [2, 4]
// Używanie reduce() do sumowania elementów
let suma = liczby.reduce((acc, x) => acc + x, 0); // 15