let arr = new Array(3)
console.log(Object.keys(arr)) // []
console.log([...arr.keys()]) // [0,1,2]为什么会有区别呢?似乎javascript中的数组可以同时具有长度为3和为空的长度。如何知道在稀疏列表上操作的不同函数的行为?
发布于 2021-03-11 15:13:58
Object.keys()执行expect the parameter to be of type object,并将强制转换anything else implicitly to one。我猜传递一个空数组会被转换为一个空对象:Object.assign({}, new Array(3))会给出{}
https://stackoverflow.com/questions/66577676
复制相似问题