Intl.Collator
Intl.Collator
对象支持语言敏感的字符串比较。
试一试
构造函数
Intl.Collator()
-
创建一个新的
Collator
对象。
静态方法
Intl.Collator.supportedLocalesOf()
-
返回一个数组,其中包含提供的区域设置中那些无需回退到运行时默认区域设置即可支持的区域设置。
实例属性
这些属性定义在 Intl.Collator.prototype
上,并由所有 Intl.Collator
实例共享。
Intl.Collator.prototype.constructor
-
创建实例对象的构造函数。对于
Intl.Collator
实例,初始值为Intl.Collator
构造函数。 Intl.Collator.prototype[Symbol.toStringTag]
-
[Symbol.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, or some other negative value
console.log(new Intl.Collator().compare("c", "a")); // 1, or some other positive value
console.log(new Intl.Collator().compare("a", "a")); // 0
请注意,上述代码中显示的结果可能因浏览器和浏览器版本而异。这是因为这些值是特定于实现的。也就是说,规范仅要求 before 和 after 值分别为负数和正数。
使用区域设置
Intl.Collator.prototype.compare()
提供的结果因语言而异。为了获得应用程序用户界面中使用的语言的排序顺序,请确保使用 locales
参数指定该语言(以及一些备用语言)
js
// in German, ä sorts with a
console.log(new Intl.Collator("de").compare("ä", "z"));
// -1, or some other negative value
// in Swedish, ä sorts after z
console.log(new Intl.Collator("sv").compare("ä", "z"));
// 1, or some other positive value
使用选项
Intl.Collator.prototype.compare()
提供的结果可以使用 options
参数进行自定义
js
// in German, ä has a as the base letter
console.log(new Intl.Collator("de", { sensitivity: "base" }).compare("ä", "a"));
// 0
// in Swedish, ä and a are separate base letters
console.log(new Intl.Collator("sv", { sensitivity: "base" }).compare("ä", "a"));
// 1, or some other positive value
规范
规范 |
---|
ECMAScript 国际化 API 规范 # collator-objects |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。