问题描述
I was trying to create an array which is [1,2,3,...,n], so I used code new Array(10).map((value,index)=>index+1)
, but I got [empty × 5]
;
Meanwhile, new Array(10).fill(1).map((value,index)=>index+1)
, why?
How did Array.prototype.map() work?
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
// [empty × 10]
new Array(10).map((value,index)=>index+1)
// [1,2,...,10]
new Array(10).fill(1).map((value,index)=>index+1)
你期待的结果是什么?实际看到的错误信息又是什么?
Why?
How did Array.prototype.map() work?
new Array() 创建的是一个稀疏数组,对于稀疏数组 map、filter、foreach 等方法并不会调用传入的第一个参数(函数)