--- 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 ---
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"]
[element0, element1, ..., elementN]
new Array(element0, element1[, ...[, elementN]])
new Array(długoscTablicy)
elementN
length
) odpowiada liczbie jej elementów.długość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.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)
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]
.
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ą.
length
) równej tej liczbie. Tablica początkowo nie zawiera żadnych elementów, mimo że ma niezerową długość.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"
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";
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 |
Array
z obiektu podobnego do tablicy lub iterowalnego.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."
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];