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"
。该参数的更多信息,请参考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 |
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ListFormat | Chrome Full support 72 | Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Edge Mobile No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? | nodejs No support No |
prototype | Chrome Full support 72 | Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Edge Mobile No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? | nodejs No support No |
format | Chrome Full support 72 | Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Edge Mobile No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? | nodejs No support No |
formatToParts | Chrome Full support 72 | Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Edge Mobile No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? | nodejs No support No |
resolvedOptions | Chrome Full support 72 | Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Edge Mobile No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? | nodejs No support No |
supportedLocalesOf | Chrome Full support 72 | Edge No support No | Firefox No support No | IE No support No | Opera ? | Safari No support No | WebView Android Full support 72 | Chrome Android Full support 72 | Edge Mobile No support No | Firefox Android No support No | Opera Android ? | Safari iOS No support No | Samsung Internet Android ? | nodejs No support No |