Tworzenie instancji tablicy w JavaScript - new Array
Jak utworzyć nową instancję tablicy, która może przechowywać listę elementów?
new Array
new Array() new Array(len) new Array(item0) new Array(item0, item1...)
- Parametry
Number
len - liczba elementów tablicy- item0, item1... - lista elementów tablicy
- Wartość:
Array
- nowa instancja tablicy- Wyjątki:
RangeError
- wartość len nie jest liczbą naturalną
Tablica jest rodzajem kolekcji (pojemnika) do przechowywania innych elementów. Elementy tablicy są ponumerowane tzw. indeksami. Pierwszy element otrzymuje indeks 0, drugi - 1, trzeci - 2 itd. Aby odczytać bądź zapisać określony element tablicy, posługujemy się operatorem nawiasów kwadratowych, w których wpisuje się indeks elementu.
Przykład new Array
new Array(); // [] new Array(0); // [] new Array(1); // [undefined] new Array("1"); // ["1"] new Array(null); // [null] new Array(undefined); // [undefined] var items = new Array(true, NaN, Infinity, {}); items[5] = []; for (var i = 0; i < items.length; ++i) items[i]; // true, NaN, Infinity, {}, undefined, [] new Array(-1); // RangeError new Array(1.2); // RangeError new Array(NaN); // RangeError new Array(Infinity); // RangeError
length
O.length
- Parametry:
Array
O - instancja tablicy- Wartość:
Number
- długość tablicy- Wyjątki:
RangeError
- próba ustawienia długości tablicy na wartość niebędącą liczbą naturalną
Zawiera wartość naturalną wskazującą, ile elementów znajduje się w tablicy. Co ciekawe, wartość tę można dynamicznie zmieniać.
- Jeżeli nowa wartość będzie mniejsza niż aktualna liczba elementów w tablicy, końcowe elementy zostaną z niej usunięte.
- Jeżeli nowa wartość będzie większa niż aktualna liczba elementów w tablicy, na jej końcu zostaną niejawnie dodane elementy o wartości niezdefiniowanej.
Przykład
var items = [1, 2, 3]; items.length = 2; items; // [1, 2] items.length = 3; items; // [1, 2, undefined] items.length = true; items; // [1] items.length = false; items; // [] items.length = null; items; // [] items.length = ""; items; // [] items.length = -1; // RangeError items.length = 1.2; // RangeError items.length = NaN; // RangeError items.length = Infinity; // RangeError items.length = "test"; // RangeError