Intl.ListFormat
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since April 2021.
Intl.ListFormat
是一个语言相关的列表格式化构造器。
尝试一下
const vehicles = ["Motorcycle", "Bus", "Car"];
const formatter = new Intl.ListFormat("en", {
style: "long",
type: "conjunction",
});
console.log(formatter.format(vehicles));
// Expected output: "Motorcycle, Bus, and Car"
const formatter2 = new Intl.ListFormat("de", {
style: "short",
type: "disjunction",
});
console.log(formatter2.format(vehicles));
// Expected output: "Motorcycle, Bus oder Car"
const formatter3 = new Intl.ListFormat("en", { style: "narrow", type: "unit" });
console.log(formatter3.format(vehicles));
// Expected output: "Motorcycle Bus Car"
语法
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
下面的例子展示了用英语语言怎么去创建一个列表格式化器。
js
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
下面的例子展示了如何创建一个返回被格式化部分的列表格式化器。
js
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 |
---|
ECMAScript® 2025 Internationalization API Specification # listformat-objects |
浏览器兼容性
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ListFormat | ||||||||||||||
ListFormat() constructor | ||||||||||||||
format | ||||||||||||||
formatToParts | ||||||||||||||
resolvedOptions | ||||||||||||||
supportedLocalesOf |
Legend
Tip: you can click/tap on a cell for more information.
- Full support
- Full support
- Partial support
- Partial support
- See implementation notes.
- Has more compatibility info.
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.