• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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"
    }