--- title: Array.prototype.join() slug: Web/JavaScript/Reference/Global_Objects/Array/join tags: - Array - Array.prototype.join() - join() - separator translation_of: Web/JavaScript/Reference/Global_Objects/Array/join ---
join()
方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
arr.join([separator])
separator
{{optional_inline}},
)分隔。如果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
上调用{{jsxref("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 |
---|---|---|
{{SpecName('ES1')}} | {{Spec2('ES1')}} | Initial definition. Implemented in JavaScript 1.1. |
{{SpecName('ES5.1', '#sec-15.4.4.5', 'Array.prototype.join')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-array.prototype.join', 'Array.prototype.join')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-array.prototype.join', 'Array.prototype.join')}} | {{Spec2('ESDraft')}} |
{{Compat("javascript.builtins.Array.join")}}