参见英文答案 >
Split array into chunks30个
请考虑一个数组,如:
请考虑一个数组,如:
arrayAll = [1,2,3,4,5,6,7,8,9]
有没有一个包可以做分区来获得:
arrayALLPartionned = [[1,3],[4,6],[7,9]]
我可以看到如何使用for循环,但是如果存在的话,会感觉“预先制作”的功能.
解决方法
如果使用
Underscore.js,可以用
groupBy()
和
values()
实现
function partition(items,size) { var result = _.groupBy(items,function(item,i) { return Math.floor(i/size); }); return _.values(result); }
(这个比较丑陋in CoffeeScript.)
jsFiddle:http://jsfiddle.net/MW3BS/