灵感来自 this popular speech我想弄清楚与创建数组相关的一些问题。假设我正在创建新数组:
数组(3)
在控制台中我得到:
[未定义,未定义,未定义]
这很明显。假设我正在加入那个数组:
数组(3).join()
作为回应,我得到了:
",,"
这也很好理解,因为我想这是三个空字符串,用逗号分隔。但是当我想做的时候:
Array(3).join("lorem")
我得到的字符串只有两次重复的“lorem”:
“loremlorem”
为什么这个词有两次而不是三次重复?
最佳答案
join
使用作为连接器传递的内容将元素连接在一起。所以你有三个空字符串“围绕”lorem
:
|lorem|lorem|
如果不使用空数组可能会更明显一点:
var arr = [1, 2, 3, 4, 5]; // Like Array(5), except not sparse
arr.join('-and-'); // 1-and-2-and-3-and-4-and-5
顺便说一下,您的第一个示例 join
输出是不正确的。它应该是 ,,
或 ",,"
。 (取决于输出格式。)
关于Javascript 新数组和 join() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12375940/