使用JavaScript或Lodash创建多维数组

dan*_*y74 0 javascript lodash

我想使用Lodash或vanilla JS创建这样的多维数组:

[
  [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  [11, 12, 13, 14, 15, 16, 17, 18, 19, 20],
  etc
]
Run Code Online (Sandbox Code Playgroud)

这是一个简单的例子,因为我想要这个模式继续高达1,000,000,但是对于演示1到20是好的.

有任何想法吗?_.range(20)到目前为止我已经尝试了但是我需要这个数组是多维的.谢谢

sli*_*der 5

通过 lodash,您可以使用chunk

const result = _.chunk(_.range(1, 21), 10);
console.log(result);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)


cha*_*tfl 5

使用嵌套的原生 Array#from()

const 
   limit = 100,
   fr = Array.from;

const res = fr({ length:limit/10 }, (_,i) => fr({ length:10 }, (_,j) => i*10 + j+1 ));

console.log(res)
Run Code Online (Sandbox Code Playgroud)

  • 它不是很漂亮,但你可以在内部循环中使用类似`{length:Math.min(10,limit-(i*10))}`来处理非偶数分组. (2认同)