2
是否有一种优雅的方式(无for循环)在Javascript中创建一个从一定数量开始并具有一定数量项目的顺序数组。例如:创建一个从一定数量开始的具有一定数量项目的顺序数组
从2017年开始并具有项目将是这样的:
[2017, 2018, 2019, 2020]
感谢
是否有一种优雅的方式(无for循环)在Javascript中创建一个从一定数量开始并具有一定数量项目的顺序数组。例如:创建一个从一定数量开始的具有一定数量项目的顺序数组
从2017年开始并具有项目将是这样的:
[2017, 2018, 2019, 2020]
感谢
你可以使用Array.from
与值的回调。
的
Array.from()
方法创建从阵列状或迭代的对象的新Array实例。[...]
Array.from()
具有正在创建一个可选参数mapFn
,它允许到阵列(或子类对象)中的每个元素执行一个map
功能。更清楚的是,Array.from(obj, mapFn, thisArg)
与Array.from(obj).map(mapFn, thisArg)
的结果相同,只是它不创建中间数组。这对于某些数组子类尤其重要,如typed arrays,因为中间数组必须将值截断以适合适当的类型。
var items = 4,
start = 2017,
array = Array.from({ length: items }, (_, i) => start + i);
console.log(array);
完美。谢谢 – amhev
我刚刚意识到,'new Array(n).map((x,i)=> i)'不会返回值,而是'Array.from'的'map'。在JS – Rajesh
@Rajesh中的另一个WTF,你可以用'new Array(n)'得到一个稀疏数组。 '地图'不适用于遗失物品。 –