Spec-Zone.ru › JavaScript

Intl.Collator.prototype.compare()

Baseline Широко доступен

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с сентября 2017 года.

Метод compare() объектов Intl.Collator сравнивает две строки в соответствии с порядком сортировки данного объекта Collator.

Попробуйте

const enCollator = new Intl.Collator("en");
const deCollator = new Intl.Collator("de");
const svCollator = new Intl.Collator("sv");

console.log(enCollator.compare("z", "a") > 0);
// Expected output: true

console.log(deCollator.compare("z", "ä") > 0);
// Expected output: true

console.log(svCollator.compare("z", "ä") > 0);
// Expected output: false

Синтаксис

compare(string1, string2)

Параметры

string1, string2
Строки для сравнения друг с другом.

Возвращаемое значение

Число, указывающее, как string1 и string2 соотносятся друг с другом в соответствии с порядком сортировки данного объекта Intl.Collator:

  • Отрицательное значение, если string1 предшествует string2;
  • Положительное значение, если string1 следует за string2;
  • 0, если они считаются равными.

Примеры

Использование compare для сортировки массива

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

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

Использование compare для поиска в массиве

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

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

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

Спецификация
ECMAScript® 2027 Internationalization API Specification
# sec-intl.collator.prototype.compare

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

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
compare
24
12
29
15
10
25
56
14
10
1.5
4.4
10
1.0.0
1.8
0.12.0До версии 13.0.0 по умолчанию доступны только данные локали для en-US. Дополнительные сведения см. в конструкторе Collator().

См. также

  • Intl.Collator
  • String.prototype.localeCompare()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API