JS array join()
join()
方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
var elements = ['Fire', 'Air', 'Water'];
console.log(elements.join());
// expected output: "Fire,Air,Water"
console.log(elements.join(''));
// expected output: "FireAirWater"
console.log(elements.join('-'));
// expected output: "Fire-Air-Water"
语法
arr.join([separator])
参数
separator
指定一个字符串来分隔数组的每个元素。如果需要,将分隔符转换为字符串。如果缺省该值,数组元素用逗号(,
)分隔。如果separator
是空字符串(""
),则所有元素之间都没有任何字符。
返回值
一个所有数组元素连接的字符串。如果 arr.length
为0,则返回空字符串。
描述
所有的数组元素被转换成字符串,再用一个分隔符将这些字符串连接起来。
如果一个元素为 undefined
或 null
,它会被转换为空字符串。
示例
使用四种不同的分隔符连接数组元素
下例首先创建了一个数组 a
,包含有三个元素,然后用四种不同的分隔符连接所有数组元素。首先是默认的分隔符逗号,然后是一个逗号加空格,接下来是一个加号前后加空格,最后是一个空字符串。
var a = ['Wind', 'Rain', 'Fire'];
var myVar1 = a.join(); // myVar1的值变为"Wind,Rain,Fire"
var myVar2 = a.join(', '); // myVar2的值变为"Wind, Rain, Fire"
var myVar3 = a.join(' + '); // myVar3的值变为"Wind + Rain + Fire"
var myVar4 = a.join(''); // myVar4的值变为"WindRainFire"
连接类数组对象
下面的示例将连接类数组对象(arguments),通过在Array.prototype.join
上调用Function.prototype.call
。
function f(a, b, c) {
var s = Array.prototype.join.call(arguments);
console.log(s); // '1,a,true'
}
f(1, 'a', true);
规范
Specification | Status | Comment |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Initial definition. Implemented in JavaScript 1.1. |
ECMAScript 5.1 (ECMA-262) Array.prototype.join | Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) Array.prototype.join | Standard | |
ECMAScript Latest Draft (ECMA-262) Array.prototype.join | Draft |