编写一个函数,把一个数组arr
按照指定的数组大小size
分割成若干个数组块。
和之前的那个差不多,都是切片,只是里面有个计数归零操作,思路如下:
1、传入一个数组和一个切片值;
2、用for循环,轮训数组里的每个元素;
3、设定给一个计数器,当计数器未达到切片值,则把已经读取的值写入一个临时数组;
4、计数器达到切片值,则把临时数组的值写入一个新数组,然后计数器归零,临时数组清空;
5、循环结束将剩余所有临时数组值写入新数组;
6、输出新数组;
参考程序示例:
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);