生成 1-10000 的数组

使用 JavaScript 生成连续数字数组的方法

问题

如何用 JavaScript 生成一个包含 1 到 10000 的连续数字数组?

解答

除了使用循环(for、while、forEach 等),更简洁的方式是使用 Array.from 方法。

方法一:利用 keys()

Array.from(new Array(10001).keys()).slice(1)

创建一个长度为 10001 的数组,获取其索引(0-10000),然后切掉第一个元素。

方法二:使用映射函数

Array.from({length: 10000}, (node, i) => i + 1)

直接创建长度为 10000 的数组,通过映射函数将索引加 1 转换为 1-10000。

关键点

  • Array.from 可以从类数组对象或可迭代对象创建数组
  • 方法一利用数组索引从 0 开始的特性,需要额外切片操作
  • 方法二通过映射函数直接生成目标值,更直观高效
  • {length: n} 可以作为类数组对象传入 Array.from