Чтение онлайн

ЖАНРЫ

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

См. также

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
Если метод вызывается для объекта, не являющегося массивом.

Поделиться с друзьями: