JS快速生成数组序列
生成 1-10 的序列 :
/**
* 生成 1-10 有序序列数组
* [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
*/
1、[...Array(11).keys()].slice(1);
2、new Array(10).fill(1).map((v, i) => ++i);
3、Array.apply(null,{length:10}).map((vi) => ++i);
4、Array.apply(Array, Array(10)).map((v, k) => ++k)
5、Array.from({length: 10}, (v, i) => ++i);
6、[...Array(10)].map((v, k) => ++k);
7、' '.repeat(10).split('').map((v, k) => ++k);
8、Array.from(function* gen(i, l) { while(i < l) yield ++i; }(0, 10));
/**
* 封装方法:生成一个从 start 到 end 的连续数组
* @param start
* @param end
*/
function generateArray (start, end) {
return Array.from(new Array(end + 1).keys()).slice(start);
}
生成 0-9 的序列 :
/**
* 生成 0-9 有序序列数组
* [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
*/
1、new Array(10).fill(1).map((v, i) => i);
2、[...new Array(10).keys()];
3、Array.apply(null,{length:10}).map((v,i) => i);
4、Array.apply(Array, Array(10)).map((v, k) => k)
5、Array.from({length: 10}, (v, i) => i);
6、[...Array(10)].map((v, k) => k);
7、' '.repeat(10).split('').map((v, k) => k);
8、Array.from(function* gen(i, l) { while(i < l) yield i++; }(0, 10));
9、Object.keys([...Array(10)]); // 字符串
ref:
https://blog.csdn.net/weixin_42333548/article/details/124344015