let white = new Array(256).join(' ')
console.log(white)
为什么以下代码段会返回255个空格的字符串?为什么不256?
答案 0 :(得分:4)
因为如果你的数组有 2个元素,那么它们之间只有 1个间隙,所以加入它们总会产生length - 1
。
具有更明显|
个字符的示例。我们有3
个空字符串,加入它们只返回2
个管道。
const array = ['', '', ''];
console.log(array.join('|'));
答案 1 :(得分:4)
由于关系 BETWEEN 空格和字符数。 您要在数组中的元素之前或之后添加空格。
let white = new Array(n).join(s); // s = n - 1
let string = "One two three four five"; // 5 elements
let spaces = string.split(" ").length - 1;
console.log(spaces); // returns 4
答案 2 :(得分:2)
您创建一个由256个元素组成的数组。 join(' ')
会通过在元素之间添加空格将它们连接到字符串(但不是在第一个之前或之后)。
答案 3 :(得分:0)
如其他答案所述:.join(' ')
会在数组元素之间添加' '
,并且只会重复n-1
次。
如果您打算使用256长的空格行,请使用String.repeat()
方法:
let white = ' '.repeat(256)