This page was translated from English by the community.Learn more and join the MDN Web Docs community.
Intl.Collator
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since сентябрь 2017 г..
ОбъектIntl.Collator обеспечивает сравнение строк с учётом языка.
In this article
Интерактивный пример
console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("de").compare));// Expected output: Array ["a", "ä", "z", "Z"]console.log(["Z", "a", "z", "ä"].sort(new Intl.Collator("sv").compare));// Expected output: Array ["a", "z", "Z", "ä"]console.log( ["Z", "a", "z", "ä"].sort( new Intl.Collator("de", { caseFirst: "upper" }).compare, ),);// Expected output: Array ["a", "ä", "Z", "z"]Конструктор
Intl.Collator()Создаёт новый объект
Collator.
Статические методы
Intl.Collator.supportedLocalesOf()Возвращает массив, содержащий локали, которые поддерживаются без необходимости возврата к локали по умолчанию.
Свойства экземпляра
Эти свойства определены вIntl.Collator.prototype и есть у всех экземпляровIntl.Collator.
Intl.Collator.prototype.constructorФункция-конструктор, создающая экземпляр объекта. Для экземпляров
Intl.Collatorначальным значением является конструкторIntl.Collator.Intl.Collator.prototype[@@toStringTag]Начальным значением свойства
@@toStringTagявляется строка"Intl.Collator". Это свойство используется вObject.prototype.toString().
Методы экземпляра
Intl.Collator.prototype.compare()Функция-геттер, которая сравнивает две строки в соответствии с правилами сортировки этого объекта
Intl.Collator.Intl.Collator.prototype.resolvedOptions()Возвращает новый объект со свойствами, отражающими локаль и настройки сравнения, полученные при инициализации объекта.
Примеры
>ИспользованиеCollator
Этот пример демонстрирует возможные результаты для строки, которая встречается до, после или на том же самом уровне, что и другая строка:
console.log(new Intl.Collator().compare("a", "c")); // -1 или другое отрицательное значениеconsole.log(new Intl.Collator().compare("c", "a")); // 1 или другое положительное значениеconsole.log(new Intl.Collator().compare("a", "a")); // 0Обратите внимание, что результат, показанный в коде выше, может отличаться в зависимости от браузера и его версии, потому что возвращаемые значения зависят от реализации. Спецификация требует только чтобы для строки, встречающиеся до, значение было отрицательным, а после — положительным.
Использование параметраlocales
Результаты, предоставляемые функциейCollator.prototype.compare() отличаются в зависимости от языка. Для получения порядка сортировки языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) используя параметрlocales:
// В немецком языке буква ä идёт рядом с буквой aconsole.log(new Intl.Collator("de").compare("ä", "z"));// -1 или другое отрицательное значение// В шведском языке буква ä следует после буквы zconsole.log(new Intl.Collator("sv").compare("ä", "z"));// 1 или другое положительное значениеИспользование параметраoptions
Результат, предоставляемый функциейCollator.prototype.compare(), может быть настроен с помощью параметраoptions:
// В немецком языке буква a является базовой для буквы äconsole.log(new Intl.Collator("de", { sensitivity: "base" }).compare("ä", "a"));// 0// В шведском языке буквы ä и a являются двумя разными базовыми буквамиconsole.log(new Intl.Collator("sv", { sensitivity: "base" }).compare("ä", "a"));// 1 или другое положительное значениеСпецификации
| Specification |
|---|
| ECMAScript® 2026 Internationalization API Specification> # collator-objects> |