需求是快速生成一个指定大小或者范围的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]
文章评论