В JavaScript существует несколько встроенных объектов для улучшения работы с данными и системой. Многие из них придают скриптам большие возможности, которые трудно достичь обычными средствами. Вот список этих объектов: Array, Boolean, Date, Function, Math, Number, String.
В принципе многим по названиям должно уже быть понятно для чего эти объекты предназначены, и поэтому давайте сразу начнем разбираться с ними по порядку.
JavaScript не имеет определенного типа данных для работы с массивами, поэтому был специально создан этот встроенный объект.
Создание массива может происходить двумя способами:
имя_массива = new Array(количество_элементов);
При этом создается пустой массив с требуемым количеством элементов. Для примера:
ar1 = new Array(5); //массив из 5 элементов
имя_массива = new Array(элемент1,элемент2,...,элементN);
Создается массив из N элементов и каждому элементу присваивается соответствующее значение из списка. Например:
ar2 = new Array(123,"ABC",ar1);
В качестве значения элемента может быть символьное значение, числовое или значение содержащееся в указанной переменной. Заметьте, что в примере последний элемент задается как массив ar1, который мы создали ранее. Странно с одной стороны, но на самом деле это потрясающая возможность JavaScript, не во всех языках элементом массива так спокойно может оказаться другой массив. Таким образом можно делать многомерные массивы.
Обращаться к элементам массива можно обычным методом, указывая конкретный номер элемента массива. Например:
ar1[0]=1; ar2[1]=ar1;
У объекта Array есть несколько методов, изменяющих состояние массива:
pr = new Array(1,2,3,4,5); pr.reverse(); document.write(pr);
В результате выполнения будет выведен результат:
5,4,3,2,1
pr = new Array('c',5,2,'b',3,1,4,'a'); pr.sort(); document.write(pr);
Результат будет такой:
1,2,3,4,5,a,b,c
pr = new Array(1,2,3,4,5); s1=pr.join(); s2=pr.join(" + "); document.writeln("s1 = ",s1); document.writeln("s2 = ",s2);
В результате будут выведены такие значения:
s1 = 1,2,3,4,5 s2 = 1 + 2 + 3 + 4 + 5
Размер массива хранится в свойстве length и вы всегда можете получить его значение. Также стоит отметить, что массивы Array могут изменять размер в процессе работы. Пример:
pr = new Array(0,1,2,3,4); document.writeln("Len = ",pr.length,", pr = ",pr); pr[7]=7; document.writeln("Len = ",pr.length,", pr = ",pr);
Результат:
Len = 5, pr = 0,1,2,3,4 Len = 7, pr = 0,1,2,3,4,,,7
Как видите размер массива увеличился, а промежуточные элементы получили пустые значения.