Intl.supportedValuesOf() - JavaScript Intl 对象
Intl.supportedValuesOf()
Intl.supportedValuesOf()
方法返回一个数组,其中包含实现支持的日历、排序规则、货币、编号系统或单位值。
重复项被省略,数组按字母升序排序(或者更准确地说,使用Array.prototype.sort()
和undefined
比较函数)
该方法可用于特性测试特定实现中是否支持值,并仅在必要时下载polyfill。它还可以用于构建UI,允许用户选择其首选的本地化值,例如,当从WebGL或服务器端创建UI时。
Syntax
Intl.supportedValuesOf(key)
Parameters
key
A key string indicating the category of values to be returned. This is one of:"calendar"
,"collation"
,"currency"
,"numberingSystem"
,"timeZone"
,"unit"
.
Return value
A sorted array of unique string values indicating the values supported by the implementation for the given key.
Exceptions
RangeError
An unsupported key was passed as a parameter.
Examples
Feature testing
You can check that the method is supported by comparing to undefined
:
if (typeof Intl.supportedValuesOf !== 'undefined') { // method is supported }
Get all values for key
To get the supported values for calendar you call the method with the key "calendar"
. You can then iterate through the returned array as shown below:
Intl.supportedValuesOf("calendar").forEach((calendar) => { // "buddhist", "chinese", "coptic", "dangi", etc. });
Note: The array returned for calendar values will always include the value "gregory"(gregorian).
The other values are all obtained in the same way:
Intl.supportedValuesOf("collation").forEach((collation) => { // "big5han", "compat", "dict", "emoji", etc. }); Intl.supportedValuesOf("currency").forEach((currency) => { // "ADP", "AED", "AFA", "AFN", "ALK", "ALL", "AMD", etc. }); Intl.supportedValuesOf("numberingSystem").forEach((numberingSystem) => { // "adlm", "ahom", "arab", "arabext", "bali", etc. }); Intl.supportedValuesOf("timeZone").forEach((timeZone) => { // "Africa/Abidjan", "Africa/Accra", "Africa/Addis_Ababa", "Africa/Algiers", etc. }); Intl.supportedValuesOf("unit").forEach((unit) => { // "acre", "bit", "byte", "celsius", "centimeter", etc. });
Invalid key throws RangeError
try { Intl.supportedValuesOf("someInvalidKey"); } catch (err) { //Error: RangeError: invalid key: "someInvalidKey" }
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!