我将如何从动态长度 javascript 的数组中创建 n 个块
How would i create n no of chunks from an array of dynamic length javascript
我有一个 n 长度的数组(动态) 说 830...我希望这个数组以 的方式拆分成子数组[0,100],[100,200].......[800,829] 即块数相等
我将如何执行此操作??
到目前为止,我已参考 this answer
尝试了以下代码
var i,j,chunk = 10;
for (i=0,j=array.length; i<j; i+=chunk) {
temparray = array.slice(i,i+chunk);
}
但如前所述,我的 数组将是动态的 即动态长度,如果是 380,如果不是。一个块的大小是 100 那么最后必须 return 80
你可以试试这个
function chunk(orig) {
var n = Math.floor(orig.length / 100);
var evenChunks = new Array(n).fill(0).reduce((agg, curr, index) => {
agg.push(orig.splice(0, 100))
return agg;
}, []);
return [].concat(evenChunks, [ orig ]);
}
你可以这样打电话,
chunk(new Array(830).fill(0))
我有一个 n 长度的数组(动态) 说 830...我希望这个数组以 的方式拆分成子数组[0,100],[100,200].......[800,829] 即块数相等 我将如何执行此操作??
到目前为止,我已参考 this answer
尝试了以下代码var i,j,chunk = 10;
for (i=0,j=array.length; i<j; i+=chunk) {
temparray = array.slice(i,i+chunk);
}
但如前所述,我的 数组将是动态的 即动态长度,如果是 380,如果不是。一个块的大小是 100 那么最后必须 return 80
你可以试试这个
function chunk(orig) {
var n = Math.floor(orig.length / 100);
var evenChunks = new Array(n).fill(0).reduce((agg, curr, index) => {
agg.push(orig.splice(0, 100))
return agg;
}, []);
return [].concat(evenChunks, [ orig ]);
}
你可以这样打电话,
chunk(new Array(830).fill(0))