将数组拆分成N个长度的块
如何将数组(包含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
,但是,该值应该是dynamic的。
谢谢
这可能是这样的:
var arrays = [], size = 3; while (a.length > 0) arrays.push(a.splice(0, size)); console.log(arrays);
请参阅拼接arrays的方法。
也许这个代码有助于:
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; });