Intl.ListFormat

Intl.ListFormat 是一个语言相关的列表格式化构造器。

语法

new Intl.ListFormat([locales[, options]]) 

参数

locales

可选的.。符合 BCP 47 语言标注的字符串或字符串数组。locales 参数的一般形式和相关解释,请参阅 Intl page.

options
可选的。 拥有下面所列属性中任意几个或全部的对象:
  • localeMatcher
    指定要使用的本地匹配算法。可选的值有"lookup" 和 "best fit";默认情况下使用"best fit"。该参数的更多信息,请参考Intl page.
  • type
    消息输出的格式。可选的值有用于替代基于“且”关系列表的"conjunction" (默认值, 例如: A, B, and C), 或者用于替代基于“或”关系列表的 "disjunction"(例如: A, B, or C),以及用于替代带计量单位的值列表的"unit" (例如: 5 pounds, 12 ounces).
  • style
    被格式化消息的长度。可选值有:"long" (默认值,例如: A, B, and C)、"short" 或者 "narrow" (例如: A, B, C)。 当style 的值为narrow时,type 属性的值只能取值unit。

描述

属性

Intl.ListFormat.prototype
允许增加一个属性到列表中的所有对象。

方法

Intl.ListFormat.supportedLocalesOf()
返回一个包含指定的被支持区域设置的数组,没有时使用运行环境默认区域设置

示例

使用 format

下面的例子展示了用英语语言怎么去创建一个列表格式化器。

const list = ['Motorcycle', 'Bus', 'Car'];

 console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).format(list));
// > Motorcycle, Bus and Car

 console.log(new Intl.ListFormat('en-GB', { style: 'short', type: 'disjunction' }).format(list));
// > Motorcycle, Bus or Car

 console.log(new Intl.ListFormat('en-GB', { style: 'narrow', type: 'unit' }).format(list));
// > Motorcycle Bus Car

使用 formatToParts

下面的例子展示了如何创建一个返回被格式化部分的列表格式化器。

const list = ['Motorcycle', 'Bus', 'Car'];
console.log(new Intl.ListFormat('en-GB', { style: 'long', type: 'conjunction' }).formatToParts(list));
 
// > [ { "type": "element", "value": "Motorcycle" }, { "type": "literal", "value": ", " }, { "type": "element", "value": "Bus" }, { "type": "literal", "value": ", and " }, { "type": "element", "value": "Car" } ];

说明

Specification Status Comment
Intl.ListFormat proposal Stage 3  

浏览器支持

Update compatibility data on GitHub
Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet Node.js
ListFormat
Experimental
Chrome Full support 72 Edge No support No Firefox No support No IE No support No Opera Full support 60 Safari No support No WebView Android Full support 72 Chrome Android Full support 72 Firefox Android No support No Opera Android ? Safari iOS No support No Samsung Internet Android No support No nodejs No support No
format
Experimental
Chrome Full support 72 Edge No support No Firefox No support No IE No support No Opera Full support 60 Safari No support No WebView Android Full support 72 Chrome Android Full support 72 Firefox Android No support No Opera Android ? Safari iOS No support No Samsung Internet Android No support No nodejs No support No
formatToParts
Experimental
Chrome Full support 72 Edge No support No Firefox No support No IE No support No Opera Full support 60 Safari No support No WebView Android Full support 72 Chrome Android Full support 72 Firefox Android No support No Opera Android ? Safari iOS No support No Samsung Internet Android No support No nodejs No support No
prototype
Experimental
Chrome Full support 72 Edge No support No Firefox No support No IE No support No Opera Full support 60 Safari No support No WebView Android Full support 72 Chrome Android Full support 72 Firefox Android No support No Opera Android ? Safari iOS No support No Samsung Internet Android No support No nodejs No support No
resolvedOptions
Experimental
Chrome Full support 72 Edge No support No Firefox No support No IE No support No Opera Full support 60 Safari No support No WebView Android Full support 72 Chrome Android Full support 72 Firefox Android No support No Opera Android ? Safari iOS No support No Samsung Internet Android No support No nodejs No support No
supportedLocalesOf
Experimental
Chrome Full support 72 Edge No support No Firefox No support No IE No support No Opera Full support 60 Safari No support No WebView Android Full support 72 Chrome Android Full support 72 Firefox Android No support No Opera Android ? Safari iOS No support No Samsung Internet Android No support No nodejs No support No

Legend

Full support  
Full support
No support  
No support
Compatibility unknown  
Compatibility unknown
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

参考地址