lodash
稀疏数组和密集数组 稀疏数组 Sparse arrays 一般来说,JavaScript 中的数组都是稀疏数组-它们可以拥有空槽,所谓空槽,指的就是数组的某个位置没有任何值,既不是 undefined ,也不是 null ,因为数组只是索引到值的简单映射。 let a = new Array(3); console.log(a); // (3) [空 × 3] console.log(a[0]); // undefined a.forEach(function (x, i) { console.log(i, x) }); // 没有打印任何东西 a.map(function (x, i) { return i }) // (3) [空 × 3] 密集数组 Dense arrays let a = Array.apply(null, Array(3)); // 相当于 Array(undefined, undefined, undefined) console.log(a); // [ undefined, undefined, undefined ] console.log(a[0]); // undefined a.forEach(function (x, i) { console.log(i+". "+x) }); // 0 undefined // 1 undefined /