如果分隔符是Javascript中的数组,则Array.join如何工作?

时间:2018-12-20 06:27:44

标签: javascript arrays ecmascript-6

如果分隔符是Javascript中的数组,我无法理解Array.join如何工作?我找到了一个详细的解释,它是如何工作的。我下面的例子

arr1 = ['a','b','c'];
arr2 = ['d', 'e', 'f'];
arr1.join(arr2);

//Output
"ad,e,fbd,e,fc"

2 个答案:

答案 0 :(得分:2)

join方法接受分隔符,并且您要传递数组作为分隔符。因此,join方法将首先将其转换为字符串:'d,e,f'

因此

ad,e,f
bd,e,f
c // last remains same - no join 
// as you may do like ['a','b','c'].join('-') results a-b-c

最终结果:

ad,e,fbd,e,fc

您可以在docs上阅读此说明:

分隔符

  

指定一个字符串来分隔数组的每对相邻元素。如果需要,分隔符将转换为字符串。如果省略,则数组元素用逗号(“,”)分隔。如果分隔符为空字符串,则所有元素之间都将没有任何字符地连接在一起。

答案 1 :(得分:1)

JavaScript是一种灵活的语言。如果它将收到预期以外的内容,它将尝试将传递的值转换为预期的格式/类型。

Docs开始,Array的.join()方法期望参数中的字符串用作连接数组元素的分隔符。万一将其传递给数组,JavaScript会通过调用Arrays的.toString()方法将该数组内部转换为字符串。返回的字符串d,e,f将用作分隔符,以连接外部数组中的元素。