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 September 2017.
Объект Intl.Collator
обеспечивает сравнение строк с учётом языка.
Интерактивный пример
Конструктор
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
:
// В немецком языке буква ä идёт рядом с буквой a
console.log(new Intl.Collator("de").compare("ä", "z"));
// -1 или другое отрицательное значение
// В шведском языке буква ä следует после буквы z
console.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 Internationalization API Specification # collator-objects |
Совместимость с браузерами
BCD tables only load in the browser