需求是快速生成一个指定大小或者范围的Array,当然最简单的方式是使用for循环:
var array = new Array(); for(var i = 0; i < 10; i++) { array.push(i); }
还可以这样(ES6语法):
//指定大小是20 var array1 = Array.from(Array(20).keys()); //或者 [...Array(20).keys()]; array1.forEach(item => { console.log(item); // item 是0-20 }); //指定从start到end,也就是范围,生成数组 var start = 1; var end = 10; var array2 = new Array(end - start).fill().map((d, i) => i + start); console.log(array2);//从1-10 array2.forEach(item => console.log(item));
指定大小是20,初始值都是固定的,例如0的:
//大小是20,初始值都是 0 new Array(20).fill(0); //或者这样 new Array(20).fill().map(_ => 0) //或者这样 [...Array(20)].map(_=>0);
如果使用了lodash,可以这样做:
_.range(10); //生成: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] _.range(1, 11); //生成: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] //可以带步长5 _.range(0, 30, 5); //生成: [0, 5, 10, 15, 20, 25] _.range(0, -10, -1); //生成: [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
文章评论