[Javascript][工具方法]快速简单生成指定大小(固定初始值)或者范围的Array数组

2021-04-25 237点热度 0人点赞 0条评论

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

admin

这个人很懒,什么都没留下

文章评论

*

code