为什么join()方法返回的结果与预期不同

Why join() method returns different result than expected

本文关键字:结果 join 方法 返回 为什么      更新时间:2023-09-26

如w3schools join()方法中所述,将数组的所有元素连接到一个字符串中,并返回该字符串。因此,如果您尝试以下操作:

console.log(new Array(6).join('a'));

我希望得到:"aaaaaa"但我得到了:"aaaaa",这意味着少了一个。

有人能解释一下为什么会这样吗?

它将a放在数组的每个元素之间,而不是放在每个元素之后,因此6个元素有5个joiner。

在这个小提琴上,你可以更准确地看到join在做什么:http://jsfiddle.net/YKhmp/

您的数组将从六个元素开始。由于您使用"a"连接,字母"a"将添加到所有元素之间的字符串中。

如果数组中有两个元素"Hello"answers"World",并用连字符连接,则它将被连接为"Hello World"。所以,如果你有一个n个值的数组,它只需要连接n-1。