Intl.Locale.prototype.getCollations()
getCollations()
方法是 Intl.Locale
实例的方法,它返回此区域设置的一个或多个 排序类型 的列表。
注意:在某些浏览器的一些版本中,此方法被实现为名为 collations
的访问器属性。但是,由于它在每次访问时都会返回一个新数组,因此现在将其实现为方法,以防止出现 locale.collations === locale.collations
返回 false
的情况。有关详细信息,请查看 浏览器兼容性表。
语法
getCollations()
参数
无。
返回值
一个字符串数组,表示 Locale
通常使用的所有排序类型,按字母顺序排序,始终排除 standard
和 search
值。如果 Locale
已经具有 collation
,则返回的数组包含该单个值。
以下是受支持的排序类型的列表,改编自 Unicode 排序规范。
支持的排序类型
big5han
-
拉丁语的拼音排序,CJK 字符的 big5 字符集排序(适用于中文)
警告:
big5han
排序类型已弃用,在 Firefox、Chrome 或 Edge 中不可用。 compat
-
先前版本的排序,用于兼容性(适用于阿拉伯语)
dict
-
字典样式排序(适用于僧伽罗语)
direct
-
二进制代码点顺序
警告:
direct
排序类型已弃用。请勿使用。 ducet
-
默认的 Unicode 排序元素表顺序
警告:Web 不提供
ducet
排序类型。请改用不带排序类型说明符的und
区域设置。und
是最接近ducet
的排序。 emoji
-
推荐的 emoji 字符排序(适用于
und
区域设置) eor
-
欧洲排序规则(适用于
und
区域设置) gb2312
-
拉丁语的拼音排序,CJK 字符的 gb2312han 字符集排序(适用于中文)
警告:
gb2312
排序类型已弃用,在 Firefox、Chrome 或 Edge 中不可用。 phonebk
-
电话簿样式排序(适用于德语)
phonetic
-
语音排序(基于发音的排序;适用于林加拉语)
pinyin
-
拉丁语和 CJK 字符的拼音排序(适用于中文)
reformed
-
改革排序(以前用于瑞典语)
警告:请勿显式使用。这是瑞典语默认排序的旧名称 其排序命名过去与其他语言不同。由于这是默认值,因此请求
sv
而不是请求sv-u-co-reformed
。 search
-
字符串搜索的特殊排序类型
警告:请勿用作排序类型,因为在
Intl.Collator
中,此排序通过usage
选项的"search"
值激活。目前没有用于子字符串搜索的 API,因此目前仅适用于通过尝试将键与每个列表项进行完全字符串匹配来筛选字符串列表。 searchjl
-
用于韩语首辅音搜索的特殊排序类型
警告:此排序不适用于排序,即使它通过
Intl.Collator
(使用usage
"sort"
而不是usage
"search"
实例化)提供。 standard
-
每种语言的默认排序,除了中文(以及以前,瑞典语)
警告:请勿显式使用。通常,无需显式指定此内容,并且由于过去瑞典语的含义不同,因此对瑞典语显式指定此内容会产生问题。
stroke
-
拉丁语的拼音排序,CJK 字符的笔画顺序(适用于中文)
trad
-
传统样式排序(例如在西班牙语中)
unihan
-
汉字的部首笔画排序(适用于中文、日语和韩语)。在中文的情况下,拉丁语的拼音排序。
注意:Chrome 或 Edge 中不提供
unihan
排序类型。 zhuyin
-
拉丁语的拼音排序,注音符号和 CJK 字符的注音顺序(适用于中文)
示例
获取支持的排序类型
如果 Locale
对象还没有 collation
,则 getCollations()
会列出给定 Locale
的所有常用排序类型。有关显式设置 collation
的示例,请参阅 collation
示例。
const locale = new Intl.Locale("zh");
console.log(locale.getCollations()); // ["pinyin", "stroke", "zhuyin", "emoji", "eor"]
规范
规范 |
---|
Intl 区域设置信息提案 # sec-Intl.Locale.prototype.getCollations |
浏览器兼容性
BCD 表仅在浏览器中加载