new Array(5).toString();
",,,,"
答案 0 :(得分:3)
toString()
方法迭代将Array
中的所有元素抛出,并推入字符串并在它们之间推入,
。
当您定义具有5个元素的空数组时,应用toString
会将其转换为五个带有4个“,”的“空”字符串
答案 1 :(得分:2)
想象一下每个数组索引中的值是什么样子。
[1,2,3,4,5].join(); // Returns 1,2,3,4,5
现在,如果删除数字,则中间只剩下逗号。
new Array(5).join(); // Returns ,,,, because the values are blank.
答案 2 :(得分:0)
new Array(5)
返回一个sparse array或内部有5个空格的数组。唯一要做的就是将数组对象的length
属性设置为指定的参数(在这种情况下为5)。
console.log(new Array(5)) // browser console --> [empty × 5]
很自然地,如果您尝试打印其内容,它将显示出您有5个空白,中间用,
console.log(new Array(5).toString()) // ,,,, <-- 5 empty ',' separated elements
答案 3 :(得分:-1)
如您所见,someArray.toString()
将返回数组内部的内容,但不包含[
和]
。
console.log([1,2,3,4,5])
console.log([1,2,3,4,5].toString())
因此,如果您没有注意到array元素,它将返回空字符串并仅显示逗号。 (Array(5)
与[,,,,,]
相同)
console.log([,,,,])
console.log([,,,,].toString())
Array(5)
将仅返回具有属性length: 5
的数组。 Wich将其作为元素undefined
。
如果您想做其他事情,可以undefined
使用.fill
console.log(Array(5))
console.log(Array(5).fill(""))
console.log(Array(5).fill("anything"))