На главную страницу
Форум txt.version   




Статья :: array
Оглавление | Назад | Вперёд | Индекс

Array

Даёт возможность работать с массивами.

Объект ядра

Реализован в

JavaScript 1.1, NES 2.0

JavaScript 1.3: добавлен метод toSource; изменено свойство length; изменены методы push и splice.

Версия 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]]])

Параметры

arrayLength

Начальный размер массива. Вы можете получить доступ к этому значению через свойство length. Если специфицировано не-число, создаётся массив размером length 1 с первым элементом, имеющим специфицированное значение.
Максимальный допустимый размер массива 4,294,967,295.

elementN

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

Описание

Массив является упорядоченным набором значений, ассоциированных с одним именем переменной.

В этом примере создаётся Array -объект с литералом массива; массив coffees состоит из трёх элементов и имеет размер "три":

coffees = ["French Roast", "Columbian", "Kona"]

Индексирование массива

Массив индексируется порядковыми числами. Например, у Вас имеется массив:

myArray = new Array("Wind","Rain","Fire")

Вы обращаетесь к первому элементу массива myArray[0], а ко второму элементу - myArray[1].

Специфицирование единственного параметра

Если Вы специфицируете одиночный числовой параметр в Array -конструкторе, Вы задаёте начальный размер массива. Следующий код создаёт массив из 5 элементов:

billingMethod = new Array(5)

Поведение Array -конструктора зависит от того, является ли единственный параметр числом:

  • Если специфицировано число, конструктор конвертирует его в беззнаковое 32-битное целое и генерирует массив со свойством length (размер массива), содержащим это целое число. Массив сначала не содержит элементов, хотя и может иметь ненулевой размер.
  • Если специфицировано не-число, создаётся массив размером 1 с первым элементом, имеющим специфицированное значение.

Этот код создаёт массив размером 25, затем присваивает значения первым трём элементам:

musicTypes = new Array(25)
musicTypes[0] = "R&B"
musicTypes[1] = "Blues"
musicTypes[2] = "Jazz"

Вы можете создать плотный массив из двух или более элементов, начиная с индекса 0, если Вы определяете начальные значения для всех элементов. Плотным является такой массив, в котором все элементы имеют значения.
Следующий код создаёт плотный массив из 3 элементов:

myArray = new Array("Hello", myVar, 3.14159)

Косвенное увеличение размера массива

Размер массива увеличивается, если Вы присваиваете значение элементу с большим индексом, чем в текущем размере массива. Следующий код создаёт массив размером 0, затем присваивает значение элементу 99. Это изменяет размер массива до 100.

colors = new Array()
colors[99] = "midnightblue"

Создание массива с использованием результата совпадения

Результат совпадения регулярного выражения и строки может образовать массив. Этот массив имеет свойства и элементы, предоставляющие информацию о совпадении. Массив это return-значение методов RegExp.exec, String.match и String.replace. Чтобы лучше разобраться в этих свойствах и элементах, посмотрим на следующий пример и на таблицу:

<SCRIPT LANGUAGE="JavaScript1.2">
//Совпадает с одной d, с последующей одной или более b, с последующей одной d
//Запоминаются совпавшие b и последующая d
//Регистр игнорируется
myRe=/d(b+)(d)/i;
myArray = myRe.exec("cdbBdbsbz");
</SCRIPT>

Свойства и элементы, возвращаемые этим совпадением:

Свойство/ЭлементОписаниеПример
input

Свойство только для чтения, отражает строку-оригинал, относительно которой сравнивается регулярное выражение.

cdbBdbsbz

index

Свойство только для чтения, которое является индексом с базой 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].

Свойства. Резюме.

СвойствоОписание
constructor

Специфицирует функцию, создающую прототип объекта.

index

Для массива, созданного в результате совпадения с регулярным выражением, это индекс с базой 0 совпадения в строке.

input

Для массива, созданного в результате совпадения с регулярным выражением, отражает строку-оригинал, относительно которой выполняется подстановка регулярного выражения.

length

Количество элементов массива.

prototype

Позволяет добавлять свойства ко всем объектам.

Методы. Резюме.

МетодОписание
concat

Объединяет два массива и возвращает новый массив.

join

Объединяет все элементы массива в строку.

pop

Удаляет последний элемент массива и возвращает этот элемент.

push

Добавляет один или более элементов в конец массива и возвращает новый размер массива.

reverse

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

shift

Удаляет первый элемент массива и возвращает этот элемент.

slice

Извлекает раздел массива и возвращает новый массив.

splice

Добавляет и/или удаляет элементы массива.

sort

Сортирует элементы массива.

toSource

Возвращает литерал массива, представляющий специфицированный массив; Вы можете использовать это значение для создания нового массива. Переопределяет метод Object.toSource.

toString

Возвращает строку, представляющую массив и его элементы. Переопределяет метод Object.toString.

unshift

Добавляет один или более элементов в начало массива и возвращает новый размер массива.

valueOf

Возвращает примитивное значение массива. Переопределяет метод Object.valueOf.

Кроме того, этот объект наследует методы watch и unwatch из Object.

Примеры

Пример 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="The length is 100."

См. также примеры для onError.

Пример 2.

Двухмерный массив. Результаты присваиваются переменной myVar.

myVar="Multidimensional array test; "
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 = "Row "+i+":"
   for (j=0; j < 4; j++) {
      str += a[i][j]
   }
   myVar += str +"; "
}

Этот пример присваивает переменной myVar следующие строки (разрывы строк сделаны для лучшей читаемости):

Multidimensional array test;
Row 0:[0,0][0,1][0,2][0,3];
Row 1:[1,0][1,1][1,2][1,3];
Row 2:[2,0][2,1][2,2][2,3];
Row 3:[3,0][3,1][3,2][3,3];

См. также

Image

concat


Объединяет два массива и возвращает новый массив.

Метод из

Array

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

concat(arrayName2, arrayName3, ..., arrayNameN)

Параметры

arrayName2...
arrayNameN

Массивы, объединяемые в данный массив.

Описание

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

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

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

Следующий код объединяет два массива:

alpha=new Array("a","b","c")
numeric=new Array(1,2,3)
alphaNumeric=alpha.concat(numeric) // новый массив ["a","b","c",1,2,3]

Следующий код объединяет три массива:

num1=[1,2,3]
num2=[4,5,6]
num3=[7,8,9]
nums=num1.concat(num2,num3) //создаёт массив [1,2,3,4,5,6,7,8,9]

constructor


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

Свойство из

Array

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

Описание

См. Object.constructor.

index


Для массива, созданного в результате совпадения с регулярным выражением, индекс с базой 0 совпадения в строке.

Свойство из

Array

Static

Реализовано в

JavaScript 1.2, NES 3.0

input


Для массива, созданного в результате совпадения с регулярным выражением, отражает строку-оригинал, относительно которой выполняется совпадение регулярного выражения.

Свойство из

Array

Static

Реализовано в

JavaScript 1.2, NES 3.0

join


Объединяет все элементы массива в строку.

Метод из

Array

Реализован в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

Синтаксис

join(separator)

Параметр

separator

Строка, разделяющая элементы массива. Сепаратор конвертируется при необходимости в строку. Если отсутствует, элементы массива разделяются запятой.

Описание

Результаты конвертации всех элементов массива в строки объединяются в одну строку.

Примеры

Следующий пример создаёт массив a из трёх элементов, затем объединяет их в массив три раза: используя сепаратор по умолчанию, запятую и пробел, а затем знак +.

a = new Array("Wind","Rain","Fire")
myVar1=a.join()      // присваивает "Wind,Rain,Fire" переменной myVar1
myVar2=a.join(", ")  // присваивает "Wind, Rain, Fire" переменной myVar1
myVar3=a.join(" + ") // присваивает "Wind + Rain + Fire" переменной myVar1

См. также

Array.reverse

length


Беззнаковое 32-битное целое число, специфицирующее количество элементов массива.

Свойство из

Array

Реализовано в

JavaScript 1.1, NES 2.0

 

JavaScript 1.3: length является беззнаковым 32-битным целым числом со значением меньше 232.

Версия ECMA

ECMA-262

Описание

Значением свойства length является целое положительное число со значением, меньшим чем 2 в степени 32 (232).

Вы можете установить свойство length в любое время для усечения массива. Если Вы увеличиваете массив, изменяя его свойство length, реальное количество элементов не увеличивается; например, если Вы устанавливаете length в 3, когда оно в данный момент равно 2, массив будет продолжать содержать только два элемента.

Примеры

В следующем примере функция getChoice использует свойство length для итерации по элементам массива musicType. musicType это элемент select на форме musicForm.

function getChoice() {
   for (var i = 0; i < document.musicForm.musicType.length; i++) {
      if (document.musicForm.musicType.options[i].selected == true) {
         return document.musicForm.musicType.options[i].text
      }
   }
}

В следующем примере массив statesUS укорачивается до размера 50, если текущий его размер больше 50.

if (statesUS.length > 50) {
   statesUS.length=50
}

pop


Удаляет последний элемент из массива и возвращает этот элемент. Этот метод изменяет размер массива.

Метод из

Array

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

pop()

Параметры

Отсутствуют.

Пример

В следующем примере код создаёт массив myFish из четырёх элементов, затем удаляет последний элемент.

myFish = ["angel", "clown", "mandarin", "surgeon"];
popped = myFish.pop();

См. также

push, shift, unshift

prototype


Предоставляет прототип для данного класса. Вы можете использовать prototype для добавления свойств или методов во все экземпляры класса. О прототипах см. Function.prototype.

Свойство из

Array

Реализовано в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

push


Добавляет один или более элементов в конец массива и возвращает новый размер массива. Этот метод изменяет размер массива.

Метод из

Array

Реализован в

JavaScript 1.2, NES 3.0

JavaScript 1.3: push возвращает новый размер массива, а не последний элемент, добавленный в массив.

Синтаксис

push(element1, ..., elementN)

Параметры

element1, ...,
elementN

Элементы, добавляемые в конец массива.

Описание

Поведение метода push аналогично действию функции push в Perl 4. Обратите внимание, что это поведение отличается в Perl 5.

Обратная Совместимость

JavaScript 1.2. Метод push возвращает последний элемент, добавленный в массив.

Пример

Следующий код создаёт массив myFish из двух элементов, затем добавляет в него два элемента. После выполнения кода pushed содержит 4. (В JavaScript 1.2 pushed содержит "lion" после выполнения кода.)

myFish = ["angel", "clown"];
pushed = myFish.push("drum", "lion");

См. также

pop, shift, unshift

reverse


Разворачивает элементы массива: первый элемент становится последним, а последний - первым.

Метод из

Array

Реализован в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

Синтаксис

reverse()

Параметры

Отсутствуют.

Описание

Метод reverse разворачивает элементы вызывающего Array-объекта.

Примеры

В следующем примере создаётся массив myArray из трёх элементов, затем массив разворачивается.

myArray = new Array("one", "two", "three")
myArray.reverse()

Код изменяет массив myArray таким образом:

  • myArray[0] становится "three"
  • myArray[1] становится "two"
  • myArray[2] становится "one"

См. также

Array.join, Array.sort

shift


Удаляет первый элемент массива и возвращает этот элемент. Этот метод изменяет размер массива.

Метод из

Array

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

shift()

Параметры

Отсутствуют.

Примеры

Следующий код выводит массив myFish до и после удаления первого элемента. Он также отображает удалённый элемент:

myFish = ["angel", "clown", "mandarin", "surgeon"];
document.writeln("myFish before: " + myFish);
shifted = myFish.shift();
document.writeln("myFish after: " + myFish);
document.writeln("Removed this element: " + shifted);

В результате получится:

myFish before: ["angel", "clown", "mandarin", "surgeon"]
myFish after: ["clown", "mandarin", "surgeon"]
Removed this element: angel

См. также

pop, push, unshift

slice


Извлекает раздел массива и возвращает новый массив.

Метод из

Array

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

slice(begin[,end])

Параметры

begin

Индекс с базой 0, начиная с которого выполняется извлечение.

end

Индекс с базой 0, с которого извлечение прекращается:

  • slice извлекает элементы до end, не включительно. slice(1,4) извлекает элементы со второго по четвёртый (элементы с индексами 1, 2 и 3)
  • Если задан отрицательный индекс, end указывает смещение от конца массива. slice(2,-1) извлекает элементы с третьего и до последнего.
  • Если end отсутствует, slice извлекает до конца последовательности.

Описание

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

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

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

Пример

В следующем примере slice создаёт новый массив newCar из myCar. Оба массива содержат ссылку на объект myHonda. Если цвет/color объекта myHonda изменяется на purple, это изменение отражается в обоих массивах.

<SCRIPT LANGUAGE="JavaScript1.2">
//С использованием slice создаётся newCar из myCar.

myHonda = {color:"red",wheels:4,engine:{cylinders:4,size:2.2}}
myCar = [myHonda, 2, "cherry condition", "purchased 1997"]
newCar = myCar.slice(0,2)
//Записываются значения myCar, newCar и цвет для myHonda,
//на который ссылаются из обоих массивов.
document.write("myCar = " + myCar + "<BR>")
document.write("newCar = " + newCar + "<BR>")
document.write("myCar[0].color = " + myCar[0].color + "<BR>")
document.write("newCar[0].color = " + newCar[0].color + "<BR><BR>")
//Изменяется цвет myHonda.
myHonda.color = "purple"
document.write("The new color of my Honda is " + myHonda.color + "<BR><BR>")
//Записывается цвет myHonda, на который ссылаются из обоих массивов.
document.write("myCar[0].color = " + myCar[0].color + "<BR>")
document.write("newCar[0].color = " + newCar[0].color + "<BR>")
</SCRIPT>

Этот скрипт запишет:

myCar = [{color:"red", wheels:4, engine:{cylinders:4, size:2.2}}, 2,
   "cherry condition", "purchased 1997"]
newCar = [{color:"red", wheels:4, engine:{cylinders:4, size:2.2}}, 2]
myCar[0].color = red newCar[0].color = red
The new color of my Honda is purple
myCar[0].color = purple
newCar[0].color = purple

sort


Сортирует элементы массива.

Метод из

Array

Реализован в

JavaScript 1.1, NES 2.0

JavaScript 1.2: поведение модифицировано.

Версия ECMA

ECMA-262

Синтаксис

sort(compareFunction)

Параметры

compareFunction

Специфицирует функцию, определяющую порядок сортировки. Если отсутствует, массив сортируется лексикографически (в словарном порядке) в соответствии с конвертацией в строку каждого элемента.

Описание

Если compareFunction не предоставляется, элементы сортируются путём конвертации их в строки и сравнения строк в лексикографическом порядке ("словарном порядке" или "порядке телефонной книги", а не в числовом порядке). Например, "80" в словарном порядке идёт перед "9", а в числовом 9 идёт перед 80.

Если параметр compareFunction предоставлен, элементы массива сортируются в соответствии с return-значением сравнивающей функции. Если a и b являются сравниваемыми элементами, то:

  • Если compareFunction(a, b) меньше 0, b сортируется с меньшим индексом, чем a.
  • Если compareFunction(a, b) возвращает 0, a и b не изменяют своего положения друг относительно друга, но сортируются относительно всех других элементов.
  • Если compareFunction(a, b) больше 0, b сортируется с большим индексом, чем a.

Итак, функция сравнения имеет следующую форму:

function compare(a, b) {
   if (a меньше b по некоторому критерию сортировки)
      return -1
   if (a больше b по некоторому критерию сортировки)
      return 1
   // иначе a обязано быть равно b
   return 0
}

Для сравнения чисел, а не строк, функция сравнения может просто вычитать b из a:

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

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; вместо этого он сортирует их в конец массива. Например, у вас имеется такой скрипт:

<SCRIPT>
a = new Array();
a[0] = "Ant";
a[5] = "Zebra";
function writeArray(x) {
   for (i = 0; i < x.length; i++) {
      document.write(x[i]);
      if (i < x.length-1) document.write(", ");
   }
}
writeArray(a);
a.sort();
document.write("<BR><BR>");
writeArray(a);
</SCRIPT>

В JavaScript 1.1 будет выведено:

ant, null, null, null, null, zebra 
ant, null, null, null, null, zebra

В JavaScript 1.2 будет выведено:

ant, undefined, undefined, undefined, undefined, zebra 
ant, zebra, undefined, undefined, undefined, undefined

Пример

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

<SCRIPT>
stringArray = new Array("Blue","Humpback","Beluga")
numericStringArray = new Array("80","9","700")
numberArray = new Array(40,1,5,200)
mixedNumericArray = new Array("80","9","700",40,1,5,200)
function compareNumbers(a, b) {
   return a - b
}
document.write("<B>stringArray:</B> " + stringArray.join()
+"<BR>")
document.write("<B>Sorted:</B> " + stringArray.sort() +"<P>")
document.write("<B>numberArray:</B> " + numberArray.join()
+"<BR>")
document.write("<B>Sorted without a compare function:</B> " + numberArray.sort() +"<BR>")
document.write("<B>Sorted with compareNumbers:</B> " + numberArray.sort(compareNumbers) +"<P>")
document.write("<B>numericStringArray:</B> "
+ numericStringArray.join() +"<BR>")
document.write("<B>Sorted without a compare function:</B> " + numericStringArray.sort() +"<BR>")
document.write("<B>Sorted with compareNumbers:</B> " + numericStringArray.sort(compareNumbers) +"<P>")
document.write("<B>mixedNumericArray:</B> "
+ mixedNumericArray.join() +"<BR>")
document.write("<B>Sorted without a compare function:</B> " + mixedNumericArray.sort() +"<BR>")
document.write("<B>Sorted with compareNumbers:</B> " + mixedNumericArray.sort(compareNumbers) +"<BR>")
</SCRIPT>

На выводе будет получено следующее. Как видно ввода, если функция сравнения используется, числа сортируются корректно, если они являются числами или строками из цифр.

stringArray: Blue,Humpback,Beluga
Sorted: Beluga,Blue,Humpback
numberArray: 40,1,5,200
Sorted without a compare function: 1,200,40,5
Sorted with compareNumbers: 1,5,40,200
numericStringArray: 80,9,700
Sorted without a compare function: 700,80,9
Sorted with compareNumbers: 9,80,700
mixedNumericArray: 80,9,700,40,1,5,200
Sorted without a compare function: 1,200,40,5,700,80,9
Sorted with compareNumbers: 1,5,9,40,80,200,700

См. также

Array.join, Array.reverse

splice


Изменяет содержимое массива, добавляя новые элементы и удаляя старые.

Метод из

Array

Реализован в

JavaScript 1.2, NES 3.0

JavaScript 1.3: возвращает массив, содержащий удалённые элементы.

Синтаксис

splice(index, howMany, [element1][, ..., elementN])

Параметры

index

Индекс начала изменения массива.

howMany

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

element1, ...,
elementN

Элементы, добавляемые к массиву. Если Вы не специфицируете элементы, splice просто удаляет элементы из массива.

Описание

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

Метод splice возвращает массив, содержащий удалённые элементы. Если удаляется только один элемент, возвращается массив, состоящий из одного элемента.

Обратная Совместимость

JavaScript 1.2. Метод splice возвращает удаляемый элемент, если удаляется только один элемент (параметр howMany равен 1); иначе метод возвращает массив, содержащий удалённые элементы.

Пример

Следующий скрипт иллюстрирует использование splice:

<SCRIPT LANGUAGE="JavaScript1.2">
myFish = ["angel", "clown", "mandarin", "surgeon"];
document.writeln("myFish: " + myFish + "<BR>");
removed = myFish.splice(2, 0, "drum");
document.writeln("After adding 1: " + myFish);
document.writeln("removed is: " + removed + "<BR>");
removed = myFish.splice(3, 1)
document.writeln("After removing 1: " + myFish);
document.writeln("removed is: " + removed + "<BR>");
removed = myFish.splice(2, 1, "trumpet")
document.writeln("After replacing 1: " + myFish);
document.writeln("removed is: " + removed + "<BR>");
removed = myFish.splice(0, 2, "parrot", "anemone", "blue")
document.writeln("After replacing 2: " + myFish);
document.writeln("removed is: " + removed);
</SCRIPT>

Этот скрипт выведет:

myFish: ["angel", "clown", "mandarin", "surgeon"]
After adding 1: ["angel", "clown", "drum", "mandarin", "surgeon"]
removed is: undefined
After removing 1: ["angel", "clown", "drum", "surgeon"]
removed is: mandarin
After replacing 1: ["angel", "clown", "trumpet",
"surgeon"]
removed is: drum
After replacing 2: ["parrot", "anemone",
"blue", "trumpet", "surgeon"]
removed is: ["angel", "clown"]

toSource


Возвращает строку, представляющую исходный код массива.

Метод из

Array

Реализован в

JavaScript 1.3

Синтаксис

toSource()

Параметры

Отсутствуют.

Описание

Метод toSource возвращает следующие значения:

  • Для встроенного объекта Array метод toSource возвращает следующую строку, указывающую, что исходный код недоступен:
       function Array() {
          [native code]
       }
  • Для экземпляров объект Array метод toSource возвращает строку исходного кода.

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

Пример

Для проверки исходного кода массива:

alpha = new Array("a", "b", "c")
alpha.toSource() //возвращает ["a", "b", "c"]

См. также

Array.toString

toString


Возвращает строку, представляющую специфицированный массив и его элементы.

Метод из

Array

Реализован в

JavaScript 1.1, NES 2.0

Версия ECMA

ECMA-262

Синтаксис

toString()

Параметры

Отсутствуют.

Описание

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

var monthNames = new Array("Jan","Feb","Mar","Apr")
myVar=monthNames.toString() // присваивает "Jan,Feb,Mar,Apr" переменной myVar

JavaScript вызывает метод toString автоматически, когда массив представляется как текстовое значение или когда к массиву обращаются при конкатенации строк.

Обратная Совместимость

JavaScript 1.2.

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

См. также

Array.toSource

unshift


Добавляет один или более элементов в начало массива и возвращает новый размер массива.

Метод из

Array

Реализован в

JavaScript 1.2, NES 3.0

Синтаксис

arrayName.unshift(element1,..., elementN)

Параметры

element1,...,
elementN

Элементы, добавляемые в начало массива.

Пример

Следующий код выводит массив myFish до и после добавления в него элементов.

myFish = ["angel", "clown"];
document.writeln("myFish before: " + myFish);
unshifted = myFish.unshift("drum", "lion");
document.writeln("myFish after: " + myFish);
document.writeln("New length: " + unshifted);

На выводе будет:

myFish before: ["angel", "clown"]
myFish after: ["drum", "lion", "angel", "clown"]
New length: 4

См. также

pop, push, shift

valueOf


Возвращает примитивное значение массива.

Метод из

Array

Реализован в

JavaScript 1.1

Версия ECMA

ECMA-262

Синтаксис

valueOf()

Параметры

Отсутствуют.

Описание

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

Тип объекта элемента Тип данных возвращаемого значения

Boolean

Boolean

Number или Date

number

Все прочие

string

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

См. также

Object.valueOf
Оглавление | Назад | Вперёд | Индекс

Дата последнего обновления: 28 мая 1999 года, 11:59:00
Copyright (c) 1999 Netscape Communications Corporation

array

страницы в данном разделе 
 ancor  applet
 area.htm  array
 Индекс  Boolean
 button  Checkbox
 Классы, Конструкторы и Методы Java  Значения Цветов
 Оглавление  Куки Netscape
 date.htm  document
 event  FileUpload
 form.htm  Frame
 Function  Обработчики Событий
 Hidden  History
 Image  Оглавление
 java.htm  JavaArray
 JavaClass  JavaObject
 JavaPackage  Приложение A. Зарезервированные Слова
 Layer  JSException
 JSObject  Plugin
 link.htm  Location
 math.htm  MimeType
 navigator  netscape
 Number  Object
 Объекты, Методы и Свойства  Операции
 Option  Packages
 Приложения  Справочник по Классам LiveConnect
 Элементы Языка  Объекты. Справочник.
 Password  Plugin
 Об Этой Книге  Radio
 RegExp  Reset
 screen  Select
 Операторы  String
 Style  Submit
 sun.htm  text.htm
 Textarea  toc.htm
 Свойства и Функции Верхнего Уровня  Новые Возможности в Этой Версии
 window   


Разделы
Околокомпьютерная литература (375)
Программирование (102)
Программы (75)
ОС и Сети (49)
Интернет (29)
Аппаратное обеспечение (16)
Базы данных (6)

Содержание сайта (выборка)
Apache
Протоколы TCP/IP (принципы, протоколы и архитектура)

PHP, PELR, JSP
PHP
JavaServer Pages (JSP)

Базы данных
Основы mysql
СУБД INFORMIX
СУБД POSTGRES
Основы проектирования реляционных баз данных

HTML, javascript
Спецификация HTML 4.01
Каскадные Таблицы Стилей, Уровень 2
Клиентский JavaScript. Справочник.
JavaScript руководство пользователя
Серверный JavaScript 1.4. Руководство по Использованию.

Паскаль, C, C++, C#
GCC (примеры)
FAQ Валентинa Озеровa DELPHI
C





 
©  programming-lang.com  справочник программиста