Array.prototype.toLocaleString()
toLocaleString()
方法是 Array
实例的方法,它返回一个表示数组元素的字符串。元素使用其 toLocaleString
方法转换为字符串,这些字符串由特定于区域设置的字符串(例如逗号“,”)分隔。
试一试
语法
toLocaleString()
toLocaleString(locales)
toLocaleString(locales, options)
参数
locales
可选-
带有 BCP 47 语言标记的字符串,或此类字符串的数组。有关
locales
参数的一般形式和解释,请参阅Intl
主页上的参数说明。 options
可选-
具有配置属性的对象。对于数字,请参阅
Number.prototype.toLocaleString()
;对于日期,请参阅Date.prototype.toLocaleString()
。
返回值
表示数组元素的字符串。
描述
Array.prototype.toLocaleString
方法遍历其内容,使用提供的 locales
和 options
参数调用每个元素的 toLocaleString
方法,并使用实现定义的分隔符(例如逗号“,”)将它们连接起来。请注意,该方法本身不会使用这两个参数——它只会将它们传递给每个元素的 toLocaleString()
。分隔符字符串的选择取决于主机当前的区域设置,而不是 locales
参数。
如果元素为 undefined
、null
,则将其转换为空字符串,而不是字符串 "null"
或 "undefined"
。
当在 稀疏数组 上使用时,toLocaleString()
方法会迭代空插槽,就好像它们的值为 undefined
一样。
toLocaleString()
方法是 泛型 的。它只期望 this
值具有 length
属性和整数键属性。
示例
使用区域设置和选项
数组的元素使用其 toLocaleString
方法转换为字符串。
对象
:Object.prototype.toLocaleString()
数字
:Number.prototype.toLocaleString()
日期
:Date.prototype.toLocaleString()
始终显示 prices
数组中字符串和数字的货币。
const prices = ["¥7", 500, 8123, 12];
prices.toLocaleString("ja-JP", { style: "currency", currency: "JPY" });
// "¥7,¥500,¥8,123,¥12"
有关更多示例,另请参阅 Intl.NumberFormat
和 Intl.DateTimeFormat
页面。
在稀疏数组上使用 toLocaleString()
toLocaleString()
将空插槽视为与 undefined
相同,并生成额外的分隔符。
console.log([1, , 3].toLocaleString()); // '1,,3'
在非数组对象上调用 toLocaleString()
toLocaleString()
方法读取 this
的 length
属性,然后访问其键为小于 length
的非负整数的每个属性。
const arrayLike = {
length: 3,
0: 1,
1: 2,
2: 3,
3: 4, // ignored by toLocaleString() since length is 3
};
console.log(Array.prototype.toLocaleString.call(arrayLike));
// 1,2,3
规范
规范 |
---|
ECMAScript 语言规范 # sec-array.prototype.tolocalestring |
ECMAScript 国际化 API 规范 # sup-array.prototype.tolocalestring |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。