--- title: Array slug: Web/JavaScript/Reference/Global_Objects/Array tags: - Array - JavaScript translation_of: Web/JavaScript/Reference/Global_Objects/Array original_slug: Web/JavaScript/Referencje/Obiekty/Array ---
{{JSRef("Global_Objects", "Array")}}

Array  w języku JavaScript jest globalnym obiektem, który jest używany podczas tworzenia tablic – listo-podobnych obieków wysokiego poziomu.

Stwórz tablicę

var owoce = ['Jabłko', 'Banan'];

console.log(owoce.length);
// 2

Dostawanie się do elementu tablicy

var pierwszy = owoce[0];
// Jablko

var ostatni = owoce[owoce.length - 1];
// Banan

Pętla przechodząca przez zawartość tablicy

owoce.forEach(function(item, index, array) {
  console.log(item, index);
});
// Jablko 0
// Banan 1

Dodawanie elementu na końcu tablicy

var nowaDługosc = owoce.push('Pomarańcz');
// ["Jabłko", "Banan", "Pomarańcz"]

Usuwanie elemetu z końca tablicy

var ostatni = owoce.pop(); // usuwa pomarańczę z końca
// ["Jabłko", "Banan"];

Usuwanie elementu z przodu tablicy

var pierwszy = owoce.shift(); // usuwa jabłko z początku
// ["Banan"];

Dodawanie elementu z przodu tablicy

var nowaDługość = owoce.unshift('Truskawki') // dodaje na początku
// ["Truskawkę", "Banan"];

Znajdowanie indeksu (numeru porządkowego) elementu t tablicy

owoce.push('Mango');
// ["Truskawka", "Banan", "Mango"]

var pos = owoce.indexOf('Banan');
// 1

Usuwanie obiektu przy użyciu indeksu

var usunElement = owoce.splice(pos, 1); // tak się usuwa element

// ["Truskawka", "Mango"]

Usuwanie elementów przy użyciu pozycji w indeksie

var warzywa = ["Kapusta", "Rzepa", "Rzodkiew", "Marchew"];
console.log(warzywa);
// ["Kapusta", "Rzepa", "Rzodkiew", "Marchew"]

var pos = 1, n = 2;

var usunieteElementy = warzywa.splice(pos, n);
// n oznacza liczbę elementów do usunięcia
// zaczynając od elementu na określonej pozycji(pos)

console.log(warzywa);
// ["Kapusta", "Marchew"] (początkowa tablica została zmieniona)

console.log(usunieteElementy);
// ["Rzepa", "Rzodkiew"]

Kopiowanie tablicy

var płytkaKopia = owoce.slice(); // tak się tworzy kopię
// ["Truskawka", "Mango"]

Składnia:

[element0, element1, ..., elementN]
new Array(element0, element1[, ...[, elementN]])
new Array(długoscTablicy)
elementN
Lista wartości elementów tablicy. Tablica jest inicjowana z określonymi wartościami jako jej elementami. Długość tablicy (length) odpowiada liczbie jej elementów.
długośćTablicy
Początkowa długość tablicy. Aby móc przetwarzać wartości używamy własności długości tablicy length. Jeśli określona wartość nie jest liczbą, zostanie utworzona tablica jednoelementowa, a jej pierwszy element będzie posiadał ową wartość. Maksymalna długość tablicy wynosi 4,294,967,295 elementów.

Opis

Tablica jest uporządkowanym zbiorem wartości przyporządkowanych ustalonej pojedynczej zmiennej.

Poniższy przykład tworzy obiekt Array przy użyciu literału tablicy. Tablica kawa zawiera trzy elementy i ma długość (length) równą 3:

kawa = ["mocca", "cappucino", "zbożowa"]

Można utworzyć tzw. zwartą tablicę składającą się z dwóch lub więcej elementów, o początkowym indeksie 0, jeśli poda się początkowe wartości wszystkich elementów. Zwarta tablica to taka, w której każdy element posiada wartość. Poniższy kod tworzy zwartą tablicę o trzech elementach:

myArray = new Array("Hello", myVar, 3.14159)

Dostęp do elementów tablicy

Do elementów tablicy odwołujemy się po ich liczbie porządkowej (zaczynając od zera). Przykładowo, jeśli mamy zdefiniowaną tablicę:

mojaTablica = new Array("Wiatr","Deszcz","Ogień")

Do pierwszego elementu odwołujemy się poprzez mojaTablica[0], a do drugiego poprzez mojaTablica[1].

Podawanie pojedynczego parametru

Jeśli konstruktor Array zostanie wywołany z pojedynczym parametrem liczbowym, parametr ten zostanie uznany za początkową długość tablicy. Poniższy kod tworzy tablicę pięciu elementów:

rodzajPlatnosci = new Array(5)

Zachowanie konstruktora Array zależy od tego, czy jedyny parametr jest liczbą.

Poniższy kod tworzy tablicę o długości 25, a następnie przypisuje wartości pierwszym trzem elementom:

rodzajeMuzyki = new Array(25)
rodzajeMuzyki[0] = "R&B"
rodzajeMuzyki[1] = "Blues"
rodzajeMuzyki[2] = "Jazz"

Pośrednie zwiększanie długości tablicy

Długość tablicy wzrasta samoczynnie, jeśli elementowi o indeksie wyższym niż obecna długość zostanie przypisana wartość. Poniższy kod tworzy tablicę o zerowej długości, a następnie przypisuje do niej 99. element. W wyniku długość tablicy zostaje zmieniona na 100.

kolory = new Array();
kolory[99] = "ciemnoniebieski";

Tworzenie tablicy z wyników wyrażenia regularnego

Wynik porównania pomiędzy regularnym wyrażeniem a łańcuchem znaków może utworzyć tablicę. Ta tablica ma własności i elementy, które przekazują informacje dotyczące porównania. Tablica jest wartością zwracaną przez RegExp.exec, String.match i String.replace. Aby zrozumieć te własności spójrz na poniższy przykład odwołując się do poniższej tabeli:

//Porównuje łańcuch znaków złożony z jednego 'd' następnie kilku 'b' a następnie jednego 'd'
//Zapamiętuje porównane 'b' i następujące 'd'
//Ignoruje wielkość liter

mojRe=/d(b+)(d)/i;
mojaTablica = mojRe.exec("cdbBdbsbz");

Własności i elementy zwracają wartości z poniższej tabeli:

Własność/Element Opis Przykład
input Wartość tylko-do-odczytu, opisująca oryginalny łańcuch znaków, do którego porównano wyrażenie regularne. cdbBdbsbz
index Własność tylko-do-odczytu, będąca indeksem (zaczynając od 0) porównanego znaku w łańcuchu znaków. 1
[0] Element tylko-do-odczytu, zawierający ostatnio porównane znaki. dbBd
[1], ... [n] Elementy tylko-do-odczytu, zawierające podobne podłańcuchy znaków, zawarte w wyrażeniu regularnym. Liczba możliwych podłańcuchów jest nieskończona. [1]: bB
[2]: d

Własności

{{jsxref("Array.length")}}
Odzwierciedla ilość elementów tablicy.
{{jsxref("Array.prototype")}}
Pozwala na dodawanie własności do wszystkich obiektów.

Metody

{{jsxref("Array.from()")}} {{experimental_inline}}
Tworzy nową instancję Array z obiektu podobnego do tablicy lub iterowalnego.
{{jsxref("Array.isArray()")}}
Zwraca true, jeśli zmienna jest tablicą, jeśli nie false.
{{jsxref("Array.observe()")}} {{experimental_inline}}
Asynchronicznie obserwuje zmiany w tablicach, podobnie jak {{jsxref ("Object.observe ()")}} dla obiektów. Zapewnia strumień zmian w kolejności występowania.
{{jsxref("Array.of()")}} {{experimental_inline}}
Tworzy nową instancję Array ze zmienną liczbą argumentów, niezależnie od liczby lub rodzaju argumentów.

Przykłady

Przykład: Tworzenie tablicy

Poniższy kod tworzy tablicę msgArray o długości 0, a następnie przypisuje wartości do msgArray[0] i msgArray[99], zwiększając długość tablicy do 100.

msgArray = new Array()
msgArray[0] = "Witaj,"
msgArray[99] = "świecie"
// Poniższy warunek jest spełniony,
// ponieważ zdefiniowano element msgArray[99].
if (msgArray.length == 100)
   myVar="Długość tablicy jest równa 100."

Przykład: Tworzenie tablicy dwuwymiarowej

Poniższy kod tworzy tablicę dwuwymiarową i przypisuje wyniki do zmiennej myVar.

myVar="Test tablicy wielowymiarowej; "
a = new Array(4)
for (i=0; i < 4; i++) {
   a[i] = new Array(4)
   for (j=0; j < 4; j++) {
      a[i][j] = "["+i+","+j+"]"
   }
}
for (i=0; i < 4; i++) {
   str = "Wiersz "+i+":"
   for (j=0; j < 4; j++) {
      str += a[i][j]
   }
   myVar += str +"; "
}

Poniższy łańcuch znaków będzie przypisany do zmiennej myVar (linie zostały przełamane dla zwiększenia czytelności):

Test tablicy wielowymiarowej;
Wiersz 0:[0,0][0,1][0,2][0,3];
Wiersz 1:[1,0][1,1][1,2][1,3];
Wiersz 2:[2,0][2,1][2,2][2,3];
Wiersz 3:[3,0][3,1][3,2][3,3];