如何将数组(包含10个项目)拆分为4个块,其中包含最多n
项。
var a = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j'];
//a function splits it to four arrays.
console.log(b, c, d, e);
它打印出来:
['a', 'b', 'c']
['d', 'e', 'f']
['j', 'h', 'i']
['j']
以上假设n = 3
,但值应该是动态的。
由于
答案 0 :(得分:178)
可能是这样的:
var arrays = [], size = 3;
while (a.length > 0)
arrays.push(a.splice(0, size));
console.log(arrays);
参见splice Array的方法。
答案 1 :(得分:62)
也许这段代码有帮助:
var chunk_size = 10;
var arr = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17];
var groups = arr.map( function(e,i){
return i%chunk_size===0 ? arr.slice(i,i+chunk_size) : null;
}).filter(function(e){ return e; });
console.log({arr, groups})