Intl.ListFormat 是一个语言相关的列表格式化构造器。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
语法
new Intl.ListFormat([locales[, options]])
参数
-
locales -
可选的.。符合 BCP 47 语言标注的字符串或字符串数组。
locales参数的一般形式和相关解释,请参阅 Intl page. -
options -
可选的。 拥有下面所列属性中任意几个或全部的对象:
localeMatcher
指定要使用的本地匹配算法。可选的值有"lookup"和"best fit";默认情况下使用"best fit"。该参数的更多信息,请参考Intlpage.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 |
浏览器支持
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out
https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
| Desktop | Mobile | Server | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ListFormat
|
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
|
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
|
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
|
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
|
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
|
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.
参考地址
- Introduction: The ECMAScript Internationalization API
- Constructors
- Methods