Массивы в JavaScript это специальный тип объектов. Они представляют собой почти рядовые объекты (числовые свойства доступны только через [] синтаксис), но имеют свойство "length", значение которого всегда больше на единицу наибольшего индекса в массиве.
Старый способ создания массивов:
var a = new Array();
a[0] = "собака";
a[1] = "кошка";
a[2] = "мышь";
a.length //результат – "3"
Более удобен "массивно-литеральный" синтаксис:
var a = ["собака", "кошка", "мышь"];
a.length //результат – "3"
Необходимо помнить, что array.length не всегда число элементов массива:
var a = ["собака", "кошка", "мышь"];
a[100] = "лиса";
a.length //результат – "101"
Длина массива это просто число на единицу большее наибольшего индекса.
Если запросить элемент с несуществующим индексом, то будет возвращено undefined:
typeof (a[90]) //результат – "undefined"
Обойти массив можно вот так:
for (var i = 0; i < a.length; i++) {
// работаем с a[i]
}
Но этот способ немного не эффективен, поскольку свойство length будет выбираться на каждом цикле.
Безопасный способ добавления элемента к концу массива:
a[a.length] = item; //тоже что и a.push(item);
Поскольку a.length на единицу больше наибольшего индекса, вы можно быть уверенным, что добавлен элемент в пустую позицию в конец массива.
Массивы имеют набор встроенных методов:
- concat возвращает новый массив с элементами, добавленными к нему;
- pop удаляет из массива и возвращает последний элемент;
- push добавляет один или несколько элементов в конец массива (также как ar[ar.length] );
- sort сортирует элементы в качестве необязательного параметра можно передать функцию;
- splice позволяет удалить или заменить целый интервал элементов в массиве;
- unshift добавляет элемент в начало массива.