Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Эта страница была переведена с английского языка силами сообщества. Вы тоже можете внести свой вклад, присоединившись к русскоязычному сообществу MDN Web Docs.

Array.prototype.toSorted()

Baseline2023
Newly available

МетодtoSorted() экземпляровArray возвращает новый массив с элементами, отсортированными в порядке возрастания. Являетсякопирующей версией методаsort().

Синтаксис

js
toSorted()toSorted(compareFn)

Параметры

compareFnНеобязательный

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

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

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

Описание

Смотритеsort() для получения дополнительной информации о параметреcompareFn.

При использовании методаtoSorted() с разрежёнными массивами методtoSorted() обрабатывает пустые элементы так, как если бы они имели значениеundefined.

МетодtoSorted() является универсальным. Для его работы необходимо только, чтобы значениеthis имело свойствоlength и свойства с целочисленными индексами.

Примеры

Сортировка элементов массива

js
const months = ["Мар", "Янв", "Фев", "Дек"];const sortedMonths = months.toSorted();console.log(sortedMonths); // ["Дек", "Мар", "Фев", "Янв"]console.log(months); // ["Мар", "Янв", "Фев", "Дек"]const values = [1, 10, 21, 2];const sortedValues = values.toSorted((a, b) => a - b);console.log(sortedValues); // [1, 2, 10, 21]console.log(values); // [1, 10, 21, 2]

Смотритеsort() для изучения дополнительных примеров использования.

Использование toSorted() на массивах с пропущенными элементами

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

js
console.log(["а", "в", , "б"].toSorted()); // ["а", "б", "в", undefined]console.log([, undefined, "а", "б"].toSorted()); // ["а", "б", undefined, undefined]

Вызов метода toSorted() для объектов, не являющихся массивами

В данном примере создаётся объектarrayLike, который не является массивом, но он обладает свойствомlength и целочисленными ключами. ПосколькуarrayLike имеет свойствоlength, равное 3, методtoSorted() создаст новый массив с длиной равной 3. В результирующий массив попадут отсортированные значения с целочисленными ключами в диапазоне от0 доlength - 1. Элемент с индексом1 пропущен, поэтому он превратится в значениеundefined.

js
const arrayLike = {  length: 3,  unrelated: "foo",  0: 5,  2: 4,  3: 3, // игнорируется методом toSorted(), так как длина равна 3};console.log(Array.prototype.toSorted.call(arrayLike));// [4, 5, undefined]

Спецификации

Specification
ECMAScript® 2026 Language Specification
# sec-array.prototype.tosorted

Совместимость с браузерами

Смотрите также

Help improve MDN

Learn how to contribute.

This page was last modified on byMDN contributors.


[8]ページ先頭

©2009-2025 Movatter.jp