如果分隔符是Javascript中的数组,我无法理解Array.join如何工作?我找到了一个详细的解释,它是如何工作的。我下面的例子
arr1 = ['a','b','c'];
arr2 = ['d', 'e', 'f'];
arr1.join(arr2);
//Output
"ad,e,fbd,e,fc"
答案 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
将用作分隔符,以连接外部数组中的元素。