Книга: JavaScript. Подробное руководство, 6-е издание

Array

Array

Array

встроенная поддержка массивов (Object->Array)

Конструктор

new Array()
new Array(размер)
new Array(элементе, элемент1..... элемент)

Аргументы

размер - Желаемое количество элементов в массиве. Длина возвращаемого массива (length) равна аргументу размер.

элемент0, ... элементN - Список аргументов из двух и более произвольных значений. Когда конструктор А г ray () вызывается с этими аргументами, элементы только что созданного массива инициализируются указанными значениями, а свойство length становится равным количеству аргументов.

Возвращаемое значение

Вновь созданный и инициализированный массив. Когда конструктор Array() вызывается без аргументов, он возвращает пустой массив, свойство length которого равно 0.

При вызове с одним числовым аргументом конструктор возвращает массив с указанным количеством неопределенных элементов. При вызове с любыми другими аргументами конструктор инициализирует массив значениями аргументов. Когда конструктор Аrray() вызывается как функция (без оператора new), он ведет себя точно так-же, как при вызове с оператором new.

Исключения

RangeErгог Когда конструктору Аггау() передается один целый аргумент размер, генерируется исключение RangeErгог, если размер отрицателен или превышает 232-1.

Синтаксис литерала

ECMAScript v3 определяет синтаксис литералов для массивов. Программист может создавать и инициализировать массив, заключая список выражений, перечисленных через запятые, в квадратные скобки. Значения этих выражений становятся элементами массива. Например:

var а = [1, true, 'abc‘];
var b = [а[0], а[0]*2, f(x)];

Свойства

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

Методы

Методы every(), filter(), forEach(), indexOf (), lastlndexOf(), map(), reduce(), reduceRight() и some() впервые появились в ECMAScript 5, но были реализованы всеми броузерами, кроме IE, до утверждения стандарта ES5.

соnсat() Присоединяет элементы к массиву.

every() Проверяет, возвращает ли предикат значение true для каждого элемента массива.

filter() Возвращает массив элементов, удовлетворяющих требованиям функции-предиката.

forEach() Вызывает функцию для каждого элемента массива.

indexOf() Выполняет поиск элемента в массиве.

join() Преобразует все элементы массива в строки и выполняет их конкатенацию.

lastIndexOf() Выполняет поиск в массиве в обратном порядке.

mар() Вычисляет элементы нового массива из элементов данного массива,

рор() Удаляет элемент из конца массива,

рush() Помещает элемент в конец массива.

reduce() Вычисляет значение на основе элементов данного массива.

reduceRight() Выполняет свертку массива справа налево.

reveгse() Меняет порядок следования элементов в массиве на противоположный,

shift() Сдвигает элементы к началу массива,

slice() Возвращает подмассив массива.

some() Проверяет, возвращает ли предикат значение true хотя бы для одного элемента массива.

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

splice() Вставляет, удаляет или заменяет элементы массива

toLocaleString() Преобразует массив в локализованную строку.

toString() Преобразует массив в строку.

unshift() Вставляет элементы в начало массива.

Описание

Массивы - это базовое средство JavaScript, подробно описанное в главе 7.

См. также

Глава 7

Array.concat()

выполняет конкатенацию массивов

Синтаксис

массивюconcat (значение, ...)

Аргументы

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

Возвращаемое значение

Новый массив, образуемый присоединением к массиву каждого из указанных аргументов.

Описание

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

Пример

var а = [1,2,3];
a.concat(4, 5)         // Вернет [1,2,3,4,5]
а.concat([4,5]);       // Вернет [1,2,3,4,5]
a.concat([4,5],[6,7])  // Вернет [1,2,3,4,5,6,7]
a.concat(4, [5,[6,7]]) // Вернет [1,2,3,4,5,[6,7]]

См. также

Array.join(), Array.push(), Array.splice()

Array.every() (EcmaScript 5)

проверяет, возвращает ли предикат значение true для каждого элемента массива

Синтаксис

массив.every (предикат)
массивюevery (предикат, о)

Аргументы

предикат Функция-предикат, выполняющая проверку элементов массива

о Необязательное значение this, передаваемое предикату.

Возвращаемое значение

true, если предикат вернет true (или какое-либо истинное значение) для каждого элемента массива, или false, если предикат вернет false (или какое-либо ложное значение) хотя бы для одного элемента массива.

Описание

Метод every() проверяет соответствие всех элементов массива некоторому условию. Он обходит в цикле элементы массива в порядке возрастания индексов и для каждого элемента вызывает указанную функцию предикат. Если предикат вернет false (или любое другое значение, которое в логическом контексте преобразуется в значение false), метод every() прекратит выполнение цикла и немедленно вернет false. Если для каждого элемента предикат вернет true, то и метод every() вернет true. При применении к пустому массиву every() возвращает true.

Для каждого индекса і в массиве функция предикат вызывается с тремя аргументами:

предикат(массив[і], і, массив)

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

Дополнительные сведения приводятся в статье Array.forEach().

Пример

[1,2,3] .every(function(x) { return х < 5; }) // => true: все элементы < 5

[1,2,3] .every(function(x) { return x < 3; })//=> false: не все элементы < З

[].every(function(x) { return false; }); // => true: всегда true для []

См. также

Array.filter(), Array.forEach(), Array.some()

Array.filter() (ECMAScript 5)

возвращает элементы массива, пропущенные предикатом

Синтаксис

массив.mар(предикат)
массив.mар(предикат, о)

Аргументы

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

о Необязательное значение this, передаваемое предикату.

Возвращаемое значение

Новый массив, содержащий только те элементы массива, для которых предикат вернет true (или истинное значение).

Описание

Метод filter() создает новый массив и заполняет его элементами массива, для которых функция предикат вернет true (или истинное значение). Метод fliter() не изменяет сам массив (хотя функция предикат может делать это).

Метод filter() выполняет цикл по индексам массива в порядке возрастания и вызывает предикат для каждого элемента. Для каждого индекса і функция предикат вызывается с тремя аргументами:

предикат(массив[і], і, массив)

Если предикат вернет true или истинное значение, элемент с индексом і в массиве будет добавлен во вновь созданный массив. После того как метод filter() проверит все элементы массива у он вернет новый массив.

Дополнительные сведения приводятся в статье Array.forEach().

Пример

[1,2,3].filter(function(x) { return х > 1; }); // => [2,3]

См. также

Array.every(), Array.forEach(), Array.indexOf(), Array.map(), Array.reduce()

Array.forEach() (ECMAScript 5)

вызывает функцию для каждого элемента массива

Синтаксис

массив.forEach(f)
массив.forEach(f, о)

Аргументы

f Функция, вызываемая для каждого элемента массива,

о Необязательное значение this, передаваемое функции f.

Возвращаемое значение

Этот метод ничего не возвращает.

Описание

Метод forEach() выполняет цикл по индексам массива в порядке возрастания и вызывает функцию f для каждого элемента. Для каждого индекса і функция f вызывается с тремя аргументами:

f(массив[і], і, массив)

Значение, возвращаемое функцией f, игнорируется. Обратите внимание, что метод forEach() ничего не возвращает. В частности, он не возвращает массив.

Особенности методов массивов

Описываемые ниже особенности относятся к методу forEach(), а также к родственным ему методам map(), filter(), every() и some().

Каждый из этих методов принимает функцию в первом аргументе и необязательный второй аргумент. Если указан второй аргумент о, функция будет вызвана как метод объекта о. То есть в теле функции ключевое слово this будет возвращать о. Если второй аргумент не указан, то функция будет вызываться как функция (а не как метод) и ключевое слово this в ней будет ссылаться на глобальный объект при выполнении в нестрогом режиме или содержать значение null при выполнении в строгом режиме. Каждый из этих методов проверяет длину массива перед началом итераций. Если вызываемая функция добавляет новые элементы в конец массива, цикл по этим новым элементам выполняться не будет. Если функция изменяет существующие элементы, цикл по которым еще не выполнялся, на следующих итерациях она получит измененные значения.

При работе с разреженными массивами эти методы не вызывают функцию для индексов с фактически отсутствующими элементами.

Пример

var а = [1,2,3];
a.forEach(function(x,і,а) { a[i]++; }); //а теперь будет [2,3,4]

См. также

Array.every(), Array.filter(), Array.indexOf(), Array.map(), Array.reduce()

Array.indexOf() (ECMAScript 5)

поиск в массиве

Синтаксис

массив. indexOf(значение)
массив.indexOf(значение, начало)

Аргументы

значение Значение, которое ищется в массиве.

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

Возвращаемое значение

Первый индекс >= началу в массиве, где элемент === значению, или -1, если такой элемент не найден.

Описание

Этот метод выполняет поиск в массиве элемента, эквивалентного указанному значению, и возвращает индекс первого найденного элемента. Поиск начинается с индекса, определяемого аргументом начало, или с 0 и продолжается в порядке последовательного увеличения индексов, пока не будет найдено соответствие или пока не будут проверены все элементы. Для проверки эквивалентности используется оператор ===. Возвращает индекс первого соответствующего элемента или -1, если соответствие не было найдено.

Пример

['a','b','c'].indexOf('b')   // => 1
['a','b','c'].indexOf('d')   // => -1
['a','b','c'].indexOf('a',1) // => -1

См. также

Array.lastlndexOf(), String.indexOf()

Array.join()

выполняет конкатенацию элементов массива в строку

Синтаксис

массив.join ()
массив.join (разделитель)

Аргументы

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

Возвращаемое значение

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

Описание

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

Обратное преобразование (разбиение строки на элементы массива) можно выполнить с помощью метода split() объекта String. Подробности см. в справочной статье String.split().

Пример

а = new Аггау(1, 2, 3, "testing");
s = a.join("+") // s - это строка ”1+2+3+testing"

См. также

String.split()

Array.lastlndexOf() (ECMAScript 5)

выполняет поиск в массиве в обратном порядке

Синтаксис

массив.lastlndexOf(значение)
массив.lastlndexOf(значение, начало)

Аргументы

значение Искомое значение.

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

Возвращаемое значение

Наибольший индекс <= начало в массиве, где элемент === значение, или -1, если такой элемент не найден.

Описание

Этот метод выполняет поиск элемента, эквивалентного указанному значению, в обратном порядке, последовательно уменьшая индекс, и возвращает индекс первого найденного элемента. Если указан аргумент начало, его значение будет использоваться в качестве начальной позиции поиска; иначе поиск начнется с конца массива. Для проверки эквивалентности используется оператор ===. Возвращает индекс первого соответствующего элемента или -1, если соответствие не было найдено.

См. также

Array.indexOf(), String.lastlndex0f()

Array.length

размер массива

Синтаксис

массив.length

Описание

Свойство length массива всегда на единицу больше индекса последнего элемента, определенного в массиве. Для традиционных «плотных» массивов, в которых определена непрерывная последовательность элементов и которые начинаются с элемента 0, свойство length указывает количество элементов в массиве.

Свойство length инициализируется в момент создания массива с помощью метода-конструктора Аггау(). Добавление новых элементов изменяет значение length, если в этом возникает необходимость:

с[3] = "four";      // с.length изменяется на 4
с[10] = "blastoff"; // с.length становится равным 11

Чтобы изменить размер массива, можно установить значение свойства length. Если новое значение length меньше предыдущего, массив обрезается и элементы в его конце теряются. Если значение length увеличивается (новое значение больше старого), массив становится больше, а новые элементы, добавленные в конец массива, получают значение undefined.

Array.map() (ECMAScript 5)

вычисляет элементы нового массива из элементов старого массива

Синтаксис

массив.map(f)
массив.mаp(f, о)

Аргументы

f Функция, вызываемая для каждого элемента массива. Возвращаемое ею значение становится элементом возвращаемого массива.

о Необязательное значение this, передаваемое функции f.

Возвращаемое значение

Новый массив, элементы которого были вычислены функцией f.

Описание

Метод map() создает новый массив той же длины, что и прежний массив, и вычисляет элементы этого нового массива, передавая элементы массива функции f. Метод mар() выполняет цикл по индексам массива в порядке их возрастания и вызывает f для каждого элемента. Для каждого индекса і функция f вызывается с тремя аргументам, а ее возвращаемое значение сохраняется в элементе с индексом і вновь созданного массива:

а[і] = f(array[і], і, array)

После того как метод mар() передаст каждый элемент массива функции f и сохранит результаты в новом массиве, он вернет новый массив.

Дополнительные сведения приводятся в статье Array.forEach().

Пример

[1,2,3].map(function(x) { return х*х; }); // => [1,4,9]

См. также

Array.every(), Array.filter(), Array.forEach(), Array.indexOf(), Array.reduce()

Array.pop()

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

Синтаксис

массив.pop()

Возвращаемое значение

Последний элемент массива.

Описание

Метод рор() удаляет последний элемент массива, уменьшает длину массива на единицу и возвращает значение удаленного элемента. Если массив уже пуст, рор() его не изменяет и возвращает значение undefined.

Пример

Метод рор() и парный ему метод push() позволяют реализовать стек, работающий по принципу «первым вошел, последним вышел». Например:

var stack = [];   // stack:[]
stack.push(1, 2); // stack:[1,2] Вернет 2
stack.pop();      // stack:[1] Вернет 2
stack.push([4,5]);// stack:[1,[4,5]] Вернет 2
stack.pop()       // stack:[1] Вернет [4,5]
stack.pop();      // stack:[] Вернет 1

См. также

Array.push()

Array.push()

добавляет элементы массива

Синтаксис

массив, push(значение, ...)

Аргументы

значение, ... Одно или более значений, которые должны быть добавлены в конец массива.

Возвращаемое значение

Новая длина массива после добавления в него указанных значений.

Описание

Метод push() добавляет свои аргументы в указанном порядке в конец массива. Он изменяет существующий массив, а не создает новый. Метод push() и парный ему метод рор() используют массив для реализации стека, работающего по принципу «первым вошел, последним вышел». Пример - в статье Array.рор().

См. также

Array. рор()

Array.reduce() (ECMAScript 5)

вычисляет значение из элементов массива

Синтаксис

массив.reduce(f)
массив.reduce(f, начальное_значение)

Аргументы

f Функция, объединяющая два значения (два элемента массива) и возвращающая новое значение «свертки».

начальное_значение Необязательное начальное значение свертки массива. Если этот аргумент указан, метод reduce() будет действовать, как если бы это значение было добавлено в начало массива.

Возвращаемое значение

Значение свертки массива, которое является результатом последнего вызова функции f.

Описание

Метод reduce() в первом аргументе принимает функцию f. Эта функция должна действовать как двухместный оператор: она должна принимать два значения, выполнять над ними некоторую операцию и возвращать результат. Если массив имеет n элементов, функция f будет вызвана методом reduce() для свертки элементов в единственное значение n -1 раз. (Возможно, вы уже знакомы с операцией свертки массивов по другим языкам программирования[61]

При первом вызове функции f передаются два первых элемента массива. При каждом следующем вызове функции f передаются значение, полученное при предыдущем вызове, и следующий элемент (в порядке возрастания индексов) массива. Возвращаемое значение последнего вызова становится возвращаемым значением метода reduce(). Методу reduce() может предаваться второй необязательный аргумент с начальным_значением. Если начальное_значение указано, метод reduce() будет действовать так, как если бы значение этого аргумента было вставлено в начало массива (в реальности массив не модифицируется). Иными словами, если метод reduce() вызывается с двумя аргументами, то начальное_значение будет использоваться, как если бы оно было получено ранее в результате вызова функции f. В этом случаев при первом вызове функции f будут переданы начальное_значение и первый элемент массива. Когда передается начальное_значение, создается свертка из n+1 элементов (n элементов массива плюс начальное_ значение) и функция сбудет вызвана n раз.

Если массив пуст и начальное_значение не указано, метод reduce() возбудит исключение ТуреЕrror. Если массив пуст и начальное_значение указано, метод reduce() вернет начальное_значение, не вызвав f ни разу. Если массив имеет единственный элемент и начальное_значение не указано, метод reduce() вернет единственный элемент массива, не вызывая функцию f.

Выше говорится о двух аргументах функции f, но в действительности метод reduce() передает этой функции четыре аргумента. В третьем аргументе передается индекс второго аргумента в массиве, а в четвертом - сам массив. Функция f всегда вызывается как функция, а не как метод.

Пример

[ 1,2,3,4].reduce(function(х,у) { return х*у; }) // => 24: ((1*2)*3)*4

См. также

Array.forEach(), Array.map(), Array.reduceRight()

Array.reduceRight() (ECMAScript 5)

выполняет свертку массива справа налево

Синтаксис

массив. reduceRight(f)
массив. reduceRight(f, начальное_значение)

Аргументы

f Функция, объединяющая два значения (два элемента массива) и возвращающая новое значение «свертки».

начальное_значение Необязательное начальное значение свертки массива. Если этот аргумент указан, метод reduceRight() будет действовать, как если бы это значение было добавлено в конец массива.

Возвращаемое значение

Значение свертки массива, которое является результатом последнего вызова функции f.

Описание

Метод reduceRight() действует подобно методу reduce(): он вызывает n-1 раз функцию f для свертки n элементов массива в единственное значение. Отличие reduceRight() от  reduce() заключается только в том, что он выполняет обход элементов массива справа налево (от больших индексов к меньшим), а не слева направо. Подробности см. в статье Array.reduce().

Пример

[2, 10, 60].reduceRight(function(х,у) { return х/у }) // => 3: (60/10)/2

См. также

Array. reduce()

Array.reverse()

изменяет порядок следования элементов в массиве на противоположный

Синтаксис

массив.reverse()

Описание

Метод reverse() объекта Array меняет порядок следования элементов в массиве на противоположный. Он делает это «на месте», т. е. переупорядочивает элементы указанного массива, не создавая новый. Если есть несколько ссылок на массив, новый порядок следования элементов массива будет виден по всем ссылкам.

Пример

а = new Array(1, 2, 3); // а[0] == 1, а[2] == 3;
a.reverse();            // Теперь а[0] == 3, а[2] == 1;

Array.shift()

сдвигает элементы к началу массива

Синтаксис

массив.shift()

Возвращаемое значение

Бывший первый элемент массива.

Описание

Метод shift() удаляет и возвращает первый элемент массива, смещая все последующие элементы на одну позицию вниз для занятия освободившегося места в начале массива. Если массив пуст, shift() не делает ничего и возвращает значение undefined. Обратите внимание: shift() не создает новый массив, а непосредственно изменяет сам массив. Метод shift() похож на Array.рор() за исключением того, что удаление элемента производится из начала массива, а не с конца, shift() часто используется в сочетании с unshift().

Пример

var а = [1, [2,3], 4]
a.shift(); // Вернет 1; а = [[2,3], 4]
a.shift(); // Вернет [2,3]; а = [4]

См. также

Array.pop(), Array.unshift()

Array.slice()

возвращает фрагмент массива

Синтаксис

массив.siice(начало, конец)

Аргументы

начало Индекс элемента массива, с которого начинается фрагмент. Отрицательное значение этого аргумента указывает позицию, измеряемую от конца массива. Другими словами, -1 обозначает последний элемент, -2 - второй элемент с конца и т. д.

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

Возвращаемое значение

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

Описание

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

Обратите внимание: slice() не изменяет массив. Для удаления фрагмента массива следует использовать метод Array.splice().

Пример

var а = [1,2,3,4,5]
a.slice(0,3);       // Вернет [1,2,3]
a.slice(3);         // Вернет [4,5]
a.slice(1,-1);      // Вернет [2,3,4]
a.slice(-3,-2);     // Вернет [3]; в ІЕ 4 работает с ошибкой,возвращая [1,2,3]

Ошибки

В Internet Explorer 4 начало не может быть отрицательным числом. В более поздних версиях IE эта ошибка исправлена.

См. также

Array.splice()

Array.some() (ECMAScript 5)

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

Синтаксис

массив.some(предикат)
массив.some(предикат, о)

Аргументы

предикат Функция-предикат для проверки элементов массива.

о Необязательное значение this в вызове функции предиката.

Возвращаемое значение

true, если предикат вернет true (или истинное значение) хотя бы для одного элемента массива, или false, если предикат вернет false (или ложное значение) для всех элементов.

Описание

Метод some() проверяет, выполняется ли условие хотя бы для одного элемента массива. Он выполняет цикл по элементам массива в порядке возрастания индексов и вызывает указанную функцию предикат для каждого элемента. Если предикат вернет true (или значение, которое в логическом контексте преобразуется в true), то метод some() прекратит выполнение цикла и немедленно вернет true. Если все вызовы предиката вернут false (или значение, которое в логическом контексте преобразуется в false), то метод some() вернет false. При применении к пустому массиву some() вернет false.

Этот метод очень похож на метод every(). Дополнительные сведения приводятся в статьях.Аггау.eveгу() и Array.forEach().

Пример

[1,2,3].some(function(x) { return x > 5; }) //=> false: нет элементов > 5
[1,2,3].some(function(x) { return x > 2; }) //=> true: некоторые > 3
[].some(function(x) { return true; });      // => false: всегда false для []

См. также

Array.every(), Array.filter(), Array.forEach()

Array.sort()

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

Синтаксис

массив.sort()
массив.sort(orderfunc)

Аргументы

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

Возвращаемое значение

Ссылка на массив. Обратите внимание, что массив сортируется на месте, копия массива не создается.

Описание

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

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

• Отрицательное число, если в соответствии с выбранным критерием сортировки значение а «меньше» значения b и должно находиться в отсортированном массиве перед Ь.

• Ноль, если а и Ь в смысле сортировки эквивалентны.

• Положительное число, если значение а «больше» значения Ь.

Следует отметить, что неопределенные элементы при сортировке всегда оказываются в конце массива. Это происходит, даже если указана специальная функция сортировки: неопределенные значения никогда не передаются в заданную функцию orderfunc.

Пример

Следующий фрагмент показывает, как написать функцию сравнения, сортирующую массив чисел в числовом, а не в алфавитном порядке:

// Функция сортировки чисел в порядке возрастания
function numberorder(a, b) { return a - b; }
a = new Array(33, 4, 1111, 222);
a.sort();             // Алфавитная сортировка: 1111, 222, 33, 4
a.sort(numberorder);  // Числовая сортировка: 4, 33, 222, 1111

Array.splice()

вставляет, удаляет или замещает элементы массива

Синтаксис

массив.sрlісе(начало, удаляемое_количество, значение, ...)

Аргументы

начало Элемент массива, с которого следует начать вставку или удаление.

удаляемое_количество Количество элементов, которые должны быть удалены из массива, начиная с элемента, заданного аргументом начало, и включая этот элемент. Чтобы выполнить вставку без удаления, в этом аргументе следует передать значение 0.

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

Возвращаемое значение

Массив, содержащий удаленные из массива элементы, если они есть.

Описание

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

Пример

Работу splice() проще всего понять на примере:

var а = [1,2,3,4,5,6,7,8]
a.splice(1,2);      // Вернет [2,3]; а равно [1,4]
a.splice(1,1);      // Вернет [4]; а равно [1]
a.splice(1,0,2,3);  // Вернет []; а равно [1 2 3]

См. также

Array.slice()

Array.toLocaleString()

преобразует массив в локализованную строку (переопределяет Object.toLocaleString())

Синтаксис

массив.toLocaleString()

Возвращаемое значение

Локализованное строковое представление массива.

Исключения

ТуреЕrror Если метод вызывается для объекта, не являющегося массивом.

Описание

Метод toLocaleString() массива возвращает локализованное строковое представление массива. Это делается путем вызова метода toLocaleString() для всех элементов массива и последующей конкатенации полученных строк с использованием символа-разделителя, определяемого региональными параметрами настройки.

См. также

Array.toString(), Object.toLocaleString()

Array.toString()

преобразует массив в строку (переопределяет Object.toString())

Синтаксис

массив.toString()

Возвращаемое значение

Строковое представление массива.

Исключения

ТуреЕrror Если метод вызывается для объекта, не являющегося массивом.

Описание

Метод toString() массива преобразует массив в строку и возвращает эту строку. Когда массив используется в строковом контексте, JavaScript автоматически преобразует его в строку путем вызова этого метода. Однако в некоторых случаях может потребоваться явный вызов toString().
toString()
сначала преобразует в строку каждый элемент (вызывая их методы toStгing()). После преобразования все элементы выводятся в виде списка строк, разделенных запятыми. Это значение совпадает со значением, возвращаемым методом join() без аргументов.

См. также

Array.toLocaleString(), Object.toString()

Array.unshift()

вставляет элементы в начало массива

Синтаксис

массив.unshift(значение, ...)

Аргументы

значение, Одно и более значений, которые должны быть вставлены в начало массива.

Возвращаемое значение

Новая длина массива.

Описание

Метод unshift() вставляет свои аргументы в начало массива, сдвигая существующие элементы к верхним индексам для освобождения места. Первый аргумент unshift() становится новым нулевым элементом массива, второй аргумент - новым первым элементом и т. д. Обратите внимание: unshift() не создает новый массив, а изменяет существующий.

Пример

Метод unshift() часто используется совместно с shift(). Например:


См. также

Array.shift()

Оглавление книги


Генерация: 0.144. Запросов К БД/Cache: 0 / 2
поделиться
Вверх Вниз