如何用最少的代码填充一个javascript数组

本文内容主要来自Here’s Why Mapping a Constructed Array in JavaScript Doesn’t Work

使用javascript快速填充数组,哪种方法代码最少?

直接方式

const arr = [];
for (let i = 0; i < 100; i++) {
  arr[i] = i;
}

四行代码

map方式

const arr = Array(100).map((_, i) => i);
console.log(arr[0] === undefined);  // true

貌似只要一行,不过结果不对 因为map是遍历数组所有元素Array(100)并没有初始化任何元素

解决办法是使用array spread

const arr = [...Array(100)].map((_, i) => i);

spread操作导致数组初始化100个undefined数据

{
  0: undefined,
  1: undefined,
  2: undefined,
  ...
  99: undefined,
  length: 100
}

Total views.

© 2013 - 2018. All rights reserved.

Powered by Hydejack v6.6.1