2017-06-01 29 views

回答

6

你可以使用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);

+0

完美。谢谢 – amhev

+0

我刚刚意识到,'new Array(n).map((x,i)=> i)'不会返回值,而是'Array.from'的'map'。在JS – Rajesh

+1

@Rajesh中的另一个WTF,你可以用'new Array(n)'得到一个稀疏数组。 '地图'不适用于遗失物品。 –

相关问题