
Стандартные объекты и функции
В ядре JavaScript определены объекты и функции, которые можно использовать вне контекста загруженной страницы. Они доступны как для сценариев на стороне клиента, так и для сценариев на стороне сервера.
Объект Array
В JavaScript нет типа данных массив, но с помощью объекта Array можно создавать массивы в приложениях и манипулировать ими. Методы этого объекта позволяют сортировать, объединять, записывать в обратном порядке содержимое массивов и выполнять многие другие действия. Наиболее часто используется свойство объекта Array, позволяющее определять количество элементов, содержащихся в массиве.
Массив — упорядоченный набор однородных данных, к элементам которого можно обращаться по имени и индексу. Массив создается оператором new и конструктором массива — системной функцией Array,
инициализирующей элементы массива. Создать массив можно одной из следующих конструкций:
имя_массива = new Array([элементО, элемент!, . . ., элементы]);
имя_массива = new Array([длина_массива]);
При использовании первого синтаксиса конструктору массива в качестве параметров передаются значения элементов массива, во второй конструкции задается длина массива. Можно использовать конструктор без
параметров, но в этом случае только определяется, что переменная с данным именем используется в
качестве массива. Элементы самого массива не заданы, и поэтому к ним нельзя обратиться, пока в сценарии им явно не будут присвоены значения.
Для получения значения элемента массива необходимо в квадратных скобках рядом с именем массива
указать порядковый номер элемента. Элемент массива можно использовать в выражениях и в левой
части оператора присваивания:
а[0] = "1"; а[1]=2;
с = Ь[2]*с[3];
Примечание
В JavaScript нумерация элементов массивов начинается с нуля. Поэтому первый элемент имеет индекс 0, второй — 1 и т. д.
В JavaScript версии 1.2 и выше вторая форма задания массива с указанием числа элементов в конструкторе создает массив из одного элемента с целым значением. В предыдущих версиях языка создается массив с заданным числом элементов, значения которых не определены.
Массив, являясь объектом, обладает методами, которые вызываются с использованием обычной для
объектно-ориентированных языков точечной нотации.
Таблица 1. Методы объекта Массив
Метод |
Действие |
concat |
Объединяет два массива в один |
join |
Соединяет все элементы массива в одну строку |
pop |
Удаляет последний элемент из массива и возвращает его значение |
push |
Добавляет один или несколько элементов в конец массива и возвращает последний добавленный элемент |
reverse |
Переставляет элементы массива в обратном порядке: первый элемент становится последним, а последний первым |
shift |
Удаляет первый элемент массива и возвращает его значение |
slice |
Создает сечение массива в виде нового массива |
splice |
Добавляет и/или удаляет элементы из массива |
sort |
Сортирует элементы массива |
unshift |
Добавляет один или более элементов в начало массива и возвращает новую длину массива |
Предположим, что определены два массива
Array1 = new Array("Первый","Второй","Третий");
array2 = new Array("Один","Два","Три");
Метод arrayl. join () возвратит строку "Первый, второй, Третий"; метод arrayi.sorto упорядочит элементы
массива array1 (переставив их местами) в алфавитном порядке, а оператор array1.concat(array2) .sort ()
объединит два массива в один новый и отсортирует его.
Примчание
Последний оператор является типичным примером точечной нотации в объектно-ориентированных языках. Метод arrayl. concat (array2) возвращает массив, который является объектом. Следовательно, можно выполнить любой метод этого объекта, в данном случае sort ( ) .
Присвоить значение элементу массива можно в любом месте программы. Добавление элементов в конец
массив можно осуществлять простым присваиванием значения новому элементу, а не только методом
push( ) . Для определения длины массива используется свойство length. Ниже представлен фрагмент кода,
определяющий пятый элемент массива arrayl, и тем самым изменяющий значение его свойства length с 3
на 5:
arrayl = new Array ("Первый", "Второй", "Третий") ;
11 = arrayl . length;
arrayl [4] = "1";
12 = arrayl. length;
document. write ( 11 ); // Напечатает 3
document . write ( 12 ); // Напечатает 5
Для задания массивов нескольких размерностей следует значениям элементов массивов присваивать
массивы. Подобная техника иллюстрируется следующим фрагментом, в котором создается двумерный
массив:
а = new Array ()
for (i=0; i < 4; i++) {
a[i] = new Array ()
for (j=0; j < 4; j++) {
a[i] [j] = "[" + i +”,” + j + “]”
}
}
Здесь в первом операторе определяется массив а. Далее в цикле элементы этого одномерного массива
сами определяются как массивы, элементам которых присваиваются значения. Таким образом создается
двумерный массив.