【发布时间】:2018-10-19 01:35:39
【问题描述】:
Array(3),结果:
{ length: 3__proto__: Array(0) }
没有index0, 1, 2...
但是Array.call(null, Array(3)) 有,
{ 0: undefined, 1: undefined, 2: undefined, length: 3, __proto__: Array(0) }
我知道我可以通过 Array.from 或 Array.fill 获取索引。
我只想知道为什么 Array.call(null, Array(3)) 可以产生索引。我想知道Array.call(null, Array(3))的内在逻辑,它到底是做什么的?
谁能解释一下原因?
【问题讨论】:
-
Array(3).fill()太难了,为什么? -
Why Array(5) don't have index 0, 1, 2, 3?它也没有索引 4 - 只是说 :p - 你想在文档中查找的是 sparse array -
@31 不,它没有重复,我知道 Array 和 new Array 是一样的,我想知道为什么 Array()/new Array() 没有索引,与 Array.call 相比()。
-
@PatrickRoberts,我知道 Array.fill 可以做到。我只想知道是否有其他方法可以在没有它的情况下创建带索引的数组。
标签: javascript arrays