JavaScript如何简单快速生成包含前N个自然数的数组?

如何简单快速生成一个数组,数组的元素是前N个自然数。例如:

f(4) => [0, 1, 2, 3]
f(10) => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

不限于ES5, ES6, ES7, ...。

阅读 13.1k
5 个回答
let f = length => Array.from({length}).map((v,k) => k);
console.log( f(4) );
console.log( f(10) );

我见过一个很有意思的答案

let fn = len => Object.keys(new Array(len + 1).join(','))
fn(4)      // [0, 1, 2, 3]
fn(10)     // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
var arr = new Array(100);
arr = arr.join().split(',').map(function(item, index){
    return index;
})
console.log(arr);

Array.from({length:100},(item,index)=>index)

推荐问题