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

Пример

<b>var а = [1, [2,3], 4]</b>

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

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

См. также

Array.pop(), Array.unshift()

Array.slice()

<b>возвращает фрагмент массива</b>

Синтаксис

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

Аргументы

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

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

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

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

Описание

Метод

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

Обратите внимание:

<b>slice()</b>
не изменяет массив. Для удаления фрагмента массива следует использовать метод
<b>Array.splice()</b>
.

Пример

<b>var а = [1,2,3,4,5]</b>

<b>a.slice(0,3);       // Вернет [1,2,3]</b>

<b>a.slice(3);         // Вернет [4,5]</b>

<b>a.slice(1,-1);      // Вернет [2,3,4]</b>

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

Ошибки

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

См. также

Array.splice()

Array.some() (ECMAScript 5)

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

Синтаксис

<b>массив.some(предикат) </b>

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

Аргументы

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

о Необязательное значение

<b>this</b>
в вызове функции предиката.

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

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

Описание

Метод

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

Этот метод очень похож на метод

<b>every()</b>
. Дополнительные сведения приводятся в статьях.Аггау.eveгу() и Array.forEach().

Пример

<b>[1,2,3].some(function(x) { return x &gt; 5; }) //=&gt; false: нет элементов &gt; 5</b>

<b>[1,2,3].some(function(x) { return x &gt; 2; }) //=&gt; true: некоторые &gt; 3</b>

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

См. также

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

Array.sort()

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

Синтаксис

<b>массив.sort() </b>

<b>массив.sort(orderfunc)</b>

Аргументы

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

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

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

Описание

Метод

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

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

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

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

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

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

Пример

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