1.问题描述
编写一个函数,把一个数组arr按照指定的数组大小size分割成若干个数组块。
例如:
chunk([1,2,3,4],2)=[[1,2],[3,4]];
chunk([1,2,3,4,5],2)=[[1,2],[3,4],[5]];
2.分析
1.遍历传入数组,再根据传入目标值进行遍历数组,并且把遍历数组值传入一个数组块中
2.如果剩余的数不够一个数组块的大,就作为单独的一个数组块
3.将所有数组块传入结果数组中
3.用到的方法
1.String.prototype.push()
4.代码如下
function chunk(arr, size) {
// Break it up.
var len = arr.length;
var resultArr = [];
for(var i=0;i<len;){
//数组块
var groupArr = [];
for(var j=0;j<size;j++){
groupArr.push(arr[i]);
i++;
}
resultArr.push(groupArr);
//如果剩余的数不够一个数组块的大小
if(len - i < size){
size = len - i;
}
}
return resultArr;
}
chunk([0, 1, 2, 3, 4, 5], 4);