Movatterモバイル変換


[0]ホーム

URL:


  1. Веб-технологии для разработчиков
  2. JavaScript
  3. Справочник по JavaScript
  4. Стандартные встроенные объекты
  5. Array
  6. Array.prototype.toSorted()

This page was translated from English by the community.Learn more and join the MDN Web Docs community.

View in EnglishAlways switch to English

Array.prototype.toSorted()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since июль 2023 г..

Метод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-2026 Movatter.jp