--- title: Intl.Collator.prototype.compare slug: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare tags: - Collator - Internationalization - JavaScript - Property - Prototype translation_of: Web/JavaScript/Reference/Global_Objects/Intl/Collator/compare ---
Свойство Intl.Collator.prototype.compare
возвращает функцию-геттер, сравнивающую две строки согласно порядку сортировки соответствующего объекта {{jsxref("Global_Objects/Collator", "Collator")}}.
collator.compare(string1, string2)
string1
string2
Функция, возвращённая геттером compare
, возвращает число, указывающее, как строки string1
и string2
сравниваются друг с другом в соответствии с порядком сортировки объекта {{jsxref("Global_Objects/Collator", "Collator")}}: отрицательное значение, если строка string1
предшествует строке string2
; положительное значение, если строка string1
следует за строкой string2
; 0, если строки считаются равными.
compare
для сортировки массиваИспользование функции, возвращённой геттером compare
, для сортировки массивов. Обратите внимание, что функция привязана к объекту {{jsxref("Global_Objects/Collator", "Collator")}}, из которого она была получена, так что её можно передавать в {{jsxref("Array.prototype.sort()")}} напрямую.
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
, для поиска совпадающих строк в массиве:
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"
Спецификация | Статус | Комментарии |
---|---|---|
{{SpecName('ES Int 1.0', '#sec-10.3.2', 'Intl.Collator.prototype.compare')}} | {{Spec2('ES Int 1.0')}} | Изначальное определение. |
{{Compat}}