问: 一个长度为4空数组,用map()给数组元素复制,为什么新数组还是空的呢?
var array = new Array(4);
var newArray = array.map( item => {
return '2';
})
console.log(array,newArray);
// => [empty x 4] [empty x 4]
答: 什么都没有的数组元素叫做槽,一般方法都会忽略,可以用Array.prototype.fill、Array.from,方式转换。
普通方法无法遍历稀疏数组
注意:传递给map()的函数的调用方式和传递给forEach()的函数的调用方式一样,但传递给map()的函数应该有返回值。map()返回的是新数组:它不修改原数组。如果是稀疏数组,返回的也是相同方式的稀疏数组:它具有相同的长度,相同的缺失元素