Intl.Collator.prototype.compare

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.prototype.compare возвращает функцию-геттер, сравнивающую две строки согласно порядку сортировки соответствующего объекта Collator.

Синтаксис

collator.compare(string1, string2)

Параметры

string1string2

Сравниваемые друг с другом строки.

Описание

Функция, возвращённая геттером compare, возвращает число, указывающее, как строки string1 и string2 сравниваются друг с другом в соответствии с порядком сортировки объекта Collator: отрицательное значение, если строка string1 предшествует строке string2; положительное значение, если строка string1 следует за строкой string2; 0, если строки считаются равными.

Примеры

Пример: использование функции compare для сортировки массива

Использование функции, возвращённой геттером compare, для сортировки массивов. Обратите внимание, что функция привязана к объекту Collator, из которого она была получена, так что её можно передавать в Array.prototype.sort() напрямую.

js
var a = ["Offenbach", "Österreich", "Odenwald"];
var collator = new Intl.Collator("de-u-co-phonebk");
a.sort(collator.compare);
console.log(a.join(", "));
// → "Odenwald, Österreich, Offenbach"

Пример: использование функции compare для поиска в массиве

Использование функции, возвращённой геттером compare, для поиска совпадающих строк в массиве:

js
var a = ["Congrès", "congres", "Assemblée", "poisson"];
var collator = new Intl.Collator("fr", {
  usage: "search",
  sensitivity: "base",
});
var s = "congres";
var matches = a.filter(function (v) {
  return collator.compare(v, s) === 0;
});
console.log(matches.join(", "));
// → "Congrès, congres"

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

Specification
ECMAScript Internationalization API Specification
# sec-intl.collator.prototype.compare

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

BCD tables only load in the browser

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