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

Этот пример демонстрирует возможные результаты для строки, которая встречается до, после или на том же самом уровне, что и другая строка:

js
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:

js
// В немецком языке буква ä идёт рядом с буквой 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:

js
// В немецком языке буква 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

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

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
Collator
Collator() constructor
options.caseFirst parameter
options.collation parameter
options.ignorePunctuation parameter
options.localeMatcher parameter
options.numeric parameter
options.sensitivity parameter
options.usage parameter
compare
resolvedOptions
supportedLocalesOf

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
See implementation notes.
Has more compatibility info.

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