数组分割算法挑战
方法一:
function chunk(arr, size) {
// Break it up.
var len=parseInt(arr.length/size);
//取模
var remain=arr.length%size;
//定义各变量
var a=[],count=1,sot=remain>0?len+1:len;
//装到新数组
for ( var f = 1; f <=sot; f++) {
var start=size*(f-1);
var end=(f>len)?((f-1)*size+remain):f*size;
var mylocates=arr.slice(start,end);
a.push(mylocates);
}
return a;
}
chunk(["a", "b", "c", "d"], 2);
方法二:
function chunk(arr, size) {
// Break it up.
var len = arr.length,
m = len%size,
div = 1,
rArr = [];
if(len > size){
div = Math.floor(len/size);
for(var i=0;i<div;i++){
rArr.push(arr.slice(i*size,(i+1)*size));
}
if(m>0){
rArr.push(arr.slice(m*(-1)));
}
}
return rArr;
}