JS Intl.Collator compare()

🌙
手机阅读
本文目录结构

The Intl.Collator.prototype.compare() method compares two strings according to the sort order of this Collator object.

The source for this interactive example is stored in a GitHub repository. If you’d like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.

Syntax

collator.compare(string1, string2)

Parameters

string1

string2

The strings to compare against each other.

Description

The compare getter function returns a number indicating how string1 and string2 compare to each other according to the sort order of this Collator object: a negative value if string1 comes before string2; a positive value if string1 comes after string2; 0 if they are considered equal.

Examples

Using compare for array sort

Use the compare getter function for sorting arrays. Note that the function is bound to the collator from which it was obtained, so it can be passed directly to 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"

Use the compare getter function for finding matching strings in arrays:

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(v => collator.compare(v, s) === 0);
console.log(matches.join(', '));
// → "Congrès, congres"

Specifications

Specification Status Comment
[ECMAScript Internationalization API 1.0 (ECMA-402)
The definition of ‘Intl.Collator.prototype.compare’ in that specification.](https://www.ecma-international.org/ecma-402/1.0/#sec-10.3.2) Standard Initial definition.
[ECMAScript Internationalization API 2.0 (ECMA-402)
The definition of ‘Intl.Collator.prototype.compare’ in that specification.](https://www.ecma-international.org/ecma-402/2.0/#sec-10.3.2) Standard  
[ECMAScript Internationalization API 4.0 (ECMA-402)
The definition of ‘Intl.Collator.prototype.compare’ in that specification.](https://tc39.es/ecma402/#sec-Intl.Collator.prototype.compare) Draft  

See also


AXIHE / 精选资源

浏览全部教程

面试题

学习网站

前端培训
自己甄别

前端书籍

关于朱安邦

我叫 朱安邦,阿西河的站长,在杭州。

以前是一名平面设计师,后来开始接接触前端开发,主要研究前端技术中的JS方向。

业余时间我喜欢分享和交流自己的技术,欢迎大家关注我的 Bilibili

关注我: Github / 知乎

目前重心已经放在研究区块链上面了

我叫朱安邦,阿西河的站长

目前在杭州从事区块链周边的开发工作,机械专业,以前从事平面设计工作。

2014年底脱产在老家自学6个月的前端技术,自学期间几乎从未出过家门,最终找到了满意的前端工作。更多>