编写一个函数,把一个数组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);
本文介绍了一个实用的函数,用于将数组按照指定大小分割成多个子数组。通过计数器和循环,有效地实现了数组的切片操作,适用于各种需要对数组进行分块处理的场景。
212

被折叠的 条评论
为什么被折叠?



