Array
Позволяет работать с массивами.
Объект ядра
Реализован в
JavaScript 1.1, NES 2.0
JavaScript 1.3: добавлен метод ; изменено свойство ; изменён метод .
ECMA-версияECMA-262
Создание
Конструктор объекта Array:
new Array(arrayLength)
new Array(element0, element1, ..., elementN)
Литерал массива:
[element0, element1, ..., elementN]
JavaScript 1.2
Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT> :
new Array(element0, element1, ..., elementN)
JavaScript 1.2
Если Вы не специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT> :
new Array([arrayLength])
new Array([element0[, element1[, ..., elementN]]])
JavaScript 1.1
new Array([arrayLength])
new Array([element0[, element1[, ..., elementN]]])
Параметры
Начальный размер массива. Доступ к этому значению Вы можете получить через свойство length.
Если специфицированное значение - не число, создаётся массив размером 1 с первым элементом, имеющим специфицированное значение.
Максимальный возможный размер массива: 4,294,967,295.
Список значений элементов массива. Если специфицирована эта форма, массив инициализируется со специфицированными значениями в качестве элементов, а свойство length массива устанавливается в количество аргументов.
Описание
Массив это упорядоченный набор значений, ассоциированных с одним именем переменной.
В этом примере создаётся объект Array с литералом массива; массив coffees содержит три элемента и имеет длину "три":
coffees = ["French Roast", "Columbian", "Kona"]
Вы можете создать плотный массив из двух или более элементов, начиная с индекса 0, если Вы определяете начальные значения для всех элементов. Плотным является массив, в котором каждый элемент имеет значение. Следующий код создаёт плотный массив из трёх элементов:
myArray = new Array("Hello", myVar, 3.14159)
Индексирование массива
Элемент массива индексируется порядковым номером.
Например: предположим, Вы определяете такой массив:
myArray = new Array("Wind","Rain","Fire")
Затем Вы обращаетесь к первому элементу массива myArray[0], а ко второму элементу - myArray[1].
Специфицирование единственного параметра
Если Вы специфицируете единственный числовой параметр в конструкторе Array, Вы специфицируете начальный размер массива.
Следующий код создаёт массив из 5 элементов:
billingMethod = new Array(5)
Поведение конструктора Array
зависит от того, является ли единственный параметр числом.
Следующий код создаёт массив размером 25, затем присваивает значения первым трём элементам:
musicTypes = new Array(25)
musicTypes[0] = "R&B"
musicTypes[1] = "Blues"
musicTypes[2] = "Jazz"
Увеличение размера массива косвенно
Размер массива увеличивается, если Вы присваиваете значение элементу с более высоким индексом, чем текущий размер массива. Следующий код создаёт массив размером 0, а затем присваивает значение элементу 99. Это изменяет размер массива на 100.
colors = new Array()
colors[99] = "midnightblue"
Создание массива путём использования результата совпадения
В результате совпадения регулярного выражения и строки может быть создан массив. Этот массив имеет свойства и элементы, которые предоставляют информацию о совпадении. Массив является return-значением ,
и .
Чтобы лучше пояснить эти свойства и элементы, просмотрите следующий код, а затем - таблицу:
<SCRIPT LANGUAGE="JavaScript1.2">
//Совпадает одно d с последующим одним или более b с последующим одним d
//Запоминаются совпавшие b с последующим d
//Регистр игнорируется
myRe=/d(b+)(d)/i;
myArray = myRe.exec("cdbBdbsbz");
</SCRIPT>
Свойства и элементы, возвращённые из этого совпадения:
arrayLength | |
elementN |
Свойство/Элемент
Описание
Пример
input
Свойство только для чтения, содержание которого отражает оригинальную строку, относительно которой выполняется совпадение с регулярным выражением.
cdbBdbsbzindex
Свойство только для чтения, которое является индексом с базой 0 совпадения в строке.1
[0]Элемент только для чтения, который специфицирует последние совпавшие символы.
dbBd[1], ...[n]
Элементы только для чтения, которые специфицируют совпадения подстроки в скобках, если она включена в регулярное выражение. Количество подстрок, заключённых в кавычки, не лимитировано.
[1]=bB
[2]=d
Обратная совместимость
JavaScript 1.2.
Если Вы специфицируете единственный параметр в конструкторе Array, поведение зависит от того, специфицировали ли Вы LANGUAGE="JavaScript1.2"
в тэге <SCRIPT>:
Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT>, возвращается массив, состоящий из одного элемента. Например, new Array(5)
создаёт массив из одного элемента с первым элементом со значением 5. Конструктор с единственным параметром работает так же, как конструктор с несколькими параметрами. Вы не можете специфицировать свойство length массива Array, используя конструктор с одним параметром.
Если Вы не специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT>, Вы специфицируете начальный размер массива, как в других версиях JavaScript.
JavaScript 1.1 и более ранние.
Если Вы специфицируете единственный параметр в конструкторе Array, Вы специфицируете начальный размер массива. Следующий код создаёт массив из пяти элементов:
billingMethod = new Array(5)
JavaScript 1.0.
Вы обязаны индексировать массив порядковыми числительным; например, myArray[0].
Свойства. Резюме.
Свойство
Описание
Специфицирует функцию, создающую прототип объекта.
Для массива, созданного из совпадения с регулярным выражением, индекс с базой 0 места совпадения в строке.
Для массива, созданного из совпадения с регулярным выражением, отражает оригинальную строку, относительно которой выполнялся поиск совпадений с регулярным выражением.
Количество элементов в массиве.
Позволяет добавлять свойства ко всем объектам.
Метод
Описание
Объединяет два массива и возвращает новый массив.
Объединяет все элементы массива в строку.
Удаляет последний элемент массива и возвращает этот элемент.
Добавляет один или более элементов в конец массива и возвращает новый размер массива.Переворачивает элементы массива: первый элемент становится последним, а последний элемент - первым.
Удаляет первый элемент массива и возвращает этот элемент.
Извлекает раздел массива и возвращает новый массив.
Добавляет и/или удаляет элементы массива.
Сортирует элементы массива.
Возвращает литерал массива, представляющий специфицированный массив; Вы можете использовать это значение для создания нового массива. Переопределяет метод .
Возвращает строку, представляющую массив и его элементы. Переопределяет метод .
Добавляет один или более элементов впереди массива и возвращает новый размер массива.
Возвращает примитивное значение массива. Переопределяет метод .
Кроме того, этот объект наследует методы и из .
Примеры
Пример 1.
Создаётся массив msgArray
размером 0, затем присваивается значение элементам msgArray[0] и msgArray[99], а размер массива становится 100.
msgArray = new Array()
msgArray[0] = "Hello"
msgArray[99] = "world"
// Следующий оператор - true,
// поскольку определён элемент msgArray[99].
if (msgArray.length == 100)
myVar="Массив имеет размер 100."
Пример 2.
Двухмерный массив. Создаётся двухмерный массив и результат присваивается переменной myVar.
myVar="Тест многомерного массива; "
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 = "Ряд "+i+":"
for (j=0; j < 4; j++) {
str += a[i][j]
}
myVar += str +"; "
}
В этом примере выполняется присвоение следующей строки переменной myVar (разрывы строк даны для удобства чтения):
Тест многомерного массива;
Ряд 0:[0,0][0,1][0,2][0,3];
Ряд 1:[1,0][1,1][1,2][1,3];
Ряд 2:[2,0][2,1][2,2][2,3];
Ряд 3:[3,0][3,1][3,2][3,3];