如w3schools join()方法中所述,将数组的所有元素连接成一个字符串,并返回该字符串。 因此,如果您尝试以下方法:
console.log(new Array(6).join('a'));
我希望得到:"aaaaaa"
但相反,我得到:"aaaaa"
,这意味着少一个。
有人能解释我为什么会这样吗?
答案 0 :(得分:13)
它将a放在数组的每个元素之间,而不是在每个元素之后,因此6个元素有5个连接符。
在这个小提琴上你可以更准确地看到连接正在做什么: http://jsfiddle.net/YKhmp/
答案 1 :(得分:4)
您的数组将以六个元素开头。由于您使用“a”加入,因此字母“a”将添加到所有元素之间的字符串中。
如果你的数组中有两个元素“Hello”和“World”并且连接了一个连字符,它将被加入“Hello-World”。因此,如果你有一个n值的数组,它只需要加入n-1。