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

posted @ 2022-09-06 19:05  炎黄子孙,龙的传人  阅读(1371)  评论(0编辑  收藏  举报