Intl.Locale.prototype.getCollations()

可用性受限

此功能并非基线功能,因为它在一些最广泛使用的浏览器中无法正常工作。

getCollations() 方法是 Intl.Locale 实例的方法,它返回此区域设置的一个或多个 排序类型 的列表。

注意:在某些浏览器的一些版本中,此方法被实现为名为 collations 的访问器属性。但是,由于它在每次访问时都会返回一个新数组,因此现在将其实现为方法,以防止出现 locale.collations === locale.collations 返回 false 的情况。有关详细信息,请查看 浏览器兼容性表

语法

js
getCollations()

参数

无。

返回值

一个字符串数组,表示 Locale 通常使用的所有排序类型,按字母顺序排序,始终排除 standardsearch 值。如果 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

字符串搜索的特殊排序类型

警告:请勿用作排序类型,因为在 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 示例

js
const locale = new Intl.Locale("zh");
console.log(locale.getCollations()); // ["pinyin", "stroke", "zhuyin", "emoji", "eor"]

规范

规范
Intl 区域设置信息提案
# sec-Intl.Locale.prototype.getCollations

浏览器兼容性

BCD 表仅在浏览器中加载

另请参阅