Array NN 3  IE J2  ECMA 1

Массив - упорядоченная коллекция из одного или более элементов. Массив JavaScript может включать любой тип данных, включая различные типы данных в том же самом массиве. Каждому элементу в массиве назначен индекс. По умолчанию индекс - отсчитываемое от нуля целое число (первый элемент имеет индекс 0). Индексное значение также может быть строкой. Доступ к элементу в массиве требует имени массива и индекса в квадратных скобках:

cars[0] cars["Ford"]

Число элементов в массиве JavaScript (его длина) может меняться. Чтобы добавить новый элемент в массив, назначите значение на 1 выше значения индекса массива:

cars[cars.length] = "Bentley"

Internet Explorer первым признал объект Array в Версии 2 Jscript.dll для Internet Explorer 3.

 
Создание массива:

var myArray = new Array() var myArray = new Array(Размер) var myArray = new Array(element0, element1, ..., elementN)


Свойства:


constructor JavaScript 1.1, NES 2.0, ECMA-262
  Чтение/Изменение
 

Специфицирует функцию, которая создаёт прототип объекта. Заметьте, что значением этого свойства является ссылка на саму функцию, а не строка, содержащая имя функции.

Все объекты наследуют свойство constructor из своих prototype

 
Пример:

o = new Object // или o = {} в JavaScript 1.2
o.constructor == Object
a = new Array // или a = [] в JavaScript 1.2
a.constructor == Array
n = new Number(3)
n.constructor == Number

 
Возвращаемое значение:
Целое число.

length NN 3  IE J2  ECMA 1
 Чтение/Изменение
 

Счетчик числа элементов, сохраненных в массиве. Если функция конструктора создаёт массив с определённой длиной - определённым количеством элементов, свойство length отражает это количество, даже если данные занимают не каждый слот. Если специфицированное значение - не число, создаётся массив размером 1 с первым элементом, имеющим специфицированное значение. Максимальный возможный размер массива: 4294967295. Вы можете установить свойство length для усечения массива в любой момент. Если Вы увеличиваете массив путём изменения его свойства length, реальное количество элементов не увеличивается; например, если Вы установите length в 3, когда текущее значение 2, массив будет по прежнему содержать 2 элемента.

 
Пример:

for (var i = 0; i < myArray.length; i++) { ... }

 
Возвращаемое значение:
Целое число.

prototype NN 3  IE J2  ECMA 1
 Чтение/Изменение
 

Свойство статичного объекта Array. Используйте свойство prototype, чтобы назначать новые свойства и методы к будущим образцам массивов, созданных в текущем документе. Например, следующая функция создает разграниченный переносом строки список элементов массива в обратном порядке:

function formatAsList() { var output = "" for (var i = this.length - 1; i >= 0; i--) { output += this[i] + "\n" } alert(output) }

Чтобы передать эту функцию массиву, назначите её через свойство prototype как метод, который Вы хотите использовать чтобы вызвать эту функцию:

Array.prototype.showReverseList = formatAsList

Если Вы создадите в этом скрипте массив:

var stooges = new Array("Moe", "Larry", "Curly", "Shemp")

Новый массив будет иметь метод showReverseList(), доступный через запрос:

stooges.showReverseList()

Вы можете таким же способом добавлять свойства . Они позволяют Вам прикреплять информацию о массиве (его время создания, например) без нарушения упорядоченной последовательности данных массива. Когда новый документ загружается в окно или фрейм, эти настройки сбрасываются.

 
Пример:

Array.prototype.created = ""

 
Возвращаемое значение:
Любые данные, включая функции.

Методы:


concat() NN 4  IE J3  ECMA n/a
concat(array2)  
 

Возвращает массив, который является объединением текущего объекта array со другим объектом array, указанным как параметр метода:

var combinedArray = myArray1.concat(myArray2)

concat не изменяет оригиналы массивов, но возвращает копию "на один уровень глубже", которая содержит копии элементов, скомбинированных из массивов-оригиналов. Элементы оригинальных массивов копируются в новый массив так:

  • Ссылки на объекты (а не реальные объекты): concat копирует ссылки на объекты в новый массив. И оригинальный, и новый массивы ссылаются на один объект. Если объект, на который ссылаются, изменяется, изменения видны и новом, и в оригинальном массивах.
  • Строки и числа (не объекты String и Number): concat копирует строки и числа в новый массив. Изменения строк и чисел одного массива не влияют на другие массивы.

Если к любому массиву добавляется новый элемент, на другой массив это не влияет.

 
Возвращаемое значение
Объект Array.
 
Параметры
array2 Любой массив JavaScript

join() NN 3  IE J2  ECMA 1
join("delimiterString")  
 

Возвращает строку, состоящую из списка элементов (как строки) которые содержит массив. Параметром для метода между элементами устанавливается символ-разделитель.

 
Возвращаемое значение
Строка.
 
Параметры
delimiterString Любая строка символов. Неалфавитно-цифровые символы должны использовать URL-encoded эквиваленты (0 - для перевода каретки).

pop() NN 4  IE n/a  ECMA-262 Edition 3

Возвращает значение последнего элемента массива и удаляет его из массива. Длина массива уменьшается на один.

 
Возвращаемое значение
Любое значение JavaScript.
 
Параметры
нет.

push() NN 4  IE n/a  ECMA-262 Edition 3
push(value)  
 

Добавляет элемент в конец массива. Длина массива увеличивается на один.

 
Возвращаемое значение
JavaScript 1.3 - новый размер массива
JavaScript 1.2 - последний элемент, добавленный к массиву
 
Параметры
value Любое значение JavaScript.

reverse() NN 3  IE J2  ECMA 1

Переворачивает элементы массива: первый элемент массива становится последним, а последний - первым. Полностью изменяет порядок элементов в массиве и возвращает копию массива в новом порядке. Первоначальный порядок массива изменяется после того, как этот метод выполняется.

 
Возвращаемое значение
Объект Array.
 
Параметры
Нет.

shift() NN 4  IE n/a  ECMA-262 Edition 3

Возвращает значение первого элемента массива и удаляет его из массива. Длина массива уменьшается на один.

 
Возвращаемое значение
Любое значение JavaScript.
 
Параметры
Нет.

slice() NN 4  IE J3  ECMA n/a
slice(startIndex[, endIndex])  
 

Возвращает массив, который является подмножеством последосательных элементов основного массива (раздел массива ). Параметры определяют, где начинается и кончается выбор. Slice не изменяет оригинальный массив, но возвращает новую копию "на один уровень глубже", которая содержит копии элементов извлечённых из оригинального массива.

 
Возвращаемое значение
Объект Array.
 
Параметры
startIndex Отсчитываемое от нуля целое число первого элемента подмножества элементов текущего массива.
endIndex Дополнительное отсчитываемое от нуля целое число последнего элемента подмножества элементов текущего массива. Если опущено, выбор будет от позиции startIndex до конца массива.

sort() NN 3  IE J3  ECMA 1
sort([compareFunction])  
 

Сортирует элементы массива по значениям строковых эквивалентов ASCII каждого элемента массива или согласно вашей собственной функции сравнения. Метод sort() неоднократно вызывает функцию сравнения, пропуская через неё два элемента массива. Функция сравнения должна возвратить целочисленное значение, которое интерпретируется функцей sort() следующим образом:

Значение

Интерпретация

<0

Каждый второй элемент помещается выше предыдущего.

0

Без изменения

>0

Каждый второй элемент помещается ниже предыдущего.

Значения функции сравнения массива в числовом (вместо ASCII) порядке:

function doCompare(a, b) { return a - b }

Чтобы сортировать массив этой функцией,вот инструкция:

myArray.sort(doCompare)

Затем метод sort() завершил своё задание, перебрав все элементы массива с помощью функции doCompare() (по два одновременно) и отсортировал их на том основании , является ли первое значение большим чем второе.

Метод sort() не только перестраивает значения в массиве, но и возвращает копию сортируемого массива.

JavaScript использует стабильную сортировку: индекс взаимного расположения a и b не изменяется, если a и b равны. Если индекс a меньше, чем индекс b перед началом сортировки, он останется таким и после сортировки, независимо от того, как переместятся a и b после сортировки.

Поведение метода sort отличается в JavaScript 1.1 и в JavaScript 1.2.

  • В JavaScript 1.1, на некоторых платформах, метод sort не работает. Этот метод работает на всех платформах в JavaScript 1.2.
  • В JavaScript 1.2, этот метод больше не конвертирует undefined-элементы в null; вместо этого он сортирует их до самого конца массива.
 
Возвращаемое значение
Объект Array.
 
Параметры
compareFunction Специфицирует функцию, которая определяет порядок сортировки. Если опущен, массив сортируется лексикографически (в словарном порядке) в соответствии с конверсией в строку каждого элемента

splice() NN n/a, IE 5.5, NES 3.0, ECMA-262 Edition 3
splice(index, howMany, [element1][, ..., elementN])  
 

Изменяет содержимое массива, добавляя новые элементы и удаляя старые. Если Вы специфицируете разное количество элементов для вставки и для удаления, массив в конце вызова будет иметь другой размер.

 
Возвращаемое значение
Удалённый элемент, если удаляется только один элемент (параметр howMany равен 1); иначе метод возвращает массив, содержащий удалённые элементы.
 
Параметры
index Индекс, с которого начинается изменение массива.
howMany Целое число, обозначающее количество удаляемых старых элементов массива. Если howMany равно 0, никакие элементы не удаляются. В этом случае Вы должны специфицировать как минимум один новый элемент.
element1, ...,elementN Элементы, добавляемые к массиву. Если Вы не специфицировали никаких новых элементов, splice только удаляет элементы из массива.

toLocaleString() NN n/a, IE 5.5

Метод toLocaleString преобразует массив в строковое значение, учитывая формат операционной системы. Результат зависит от объекта. Обычно он дает тот же результат, что и метод toString.

 
Возвращаемое значение
Строка
 
Параметры
Нет.

toSource() JavaScript 1.3

Возвращает строку исходного кода массива

 
Возвращаемое значение
Любое значение JavaScript.
 
Параметры
Нет.

toString() JavaScript 1.1, NES 2.0, ECMA-262

Возвращает строку, представляющую специфицированный массив и его элементы. Объект Array переопределяет метод toString из Object. Для объектов Array метод toString объединяет массив и возвращает одну строку, содержащую все элементы массива, разделённые запятыми. JavaScript вызывает метод toString автоматически, когда массив представлен как текстовое значение или когда на массив имеется ссылка при конкатенации строк.

 
Возвращаемое значение
Если Вы специфицируете LANGUAGE="JavaScript1.2" в тэге <SCRIPT>, toString возвращает строку, представляющую исходный код массива. Это то же самое значение, что и значение, возвращаемое методом toSource в JavaScript 1.3 и более поздних версиях.
 
Параметры
Нет.

unshift() NN 4  IE n/a  ECMA n/a
unshift(value)  
 

Вставляет элемент в начало массива. Длина массива увеличивается на один, и метод возвращает новую длину массива. Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде. Вы можете вызвать toSource в ходе отладки, чтобы проверить содержимое массива

 
Возвращаемое значение
Для встроенного объекта Array метод toSource возвращает следующие строки, обозначающие недоступность исходного кода
Для Array-экземпляров toSource возвращает строку исходного кода
 
Параметры
value Любое значение JavaScript.

valueOf() JavaScript 1.1 ECMA-262

Возвращает примитивное значение массива. Этот метод обычно вызывается внутренне в JavaScript, а не явно в коде.

 

Возвращаемое значение
Метод valueOf из Array возвращает примитивное значение массива или примитивное значение его элементов таким образом:

Тип объекта элемента Тип данных возвращаемого значения
Boolean Boolean
Number или Date number
Все остальные string
 
Параметры
Нет.


HIVE: All information for read only. Please respect copyright!
Hosted by hive КГБ: Киевская городская библиотека