在JavaScript中对数组内的数组进行分块
我们需要编写一个JavaScript函数,该函数将数字数组作为第一个参数,并将单个数字(例如num)作为第二个参数。Num将始终小于或等于数组的长度。
该函数应准备一个新数组,该数组必须包含num个子数组。如果array的长度可以被num整除,则所有子数组都应包含相等数量的数组,否则,只有最后一个子数组应包含不同数量的元素。
例如-
如果输入数组和数字为-
const arr = [1, 2, 3, 4, 5, 6, 7, 8]; const num = 3;
因此,上述输入的输出应如下所示:
const output = [ [1, 2, 3], [4, 5, 6], [7, 8] ];
示例
为此的代码将是-
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const num = 3;
const chunkArray = (arr = [], num = 1) => {
const { length: l } = arr;
const elPerArr = Math.ceil(l / num);
const res = arr.reduce((acc, val, ind) => {
const curr = Math.floor(ind / elPerArr);
if(!acc[curr]){
acc[curr] = [val];
}else{
acc[curr].push(val);
}
return acc;
}, []);
return res;
};
console.log(chunkArray(arr, num));输出结果
控制台中的输出将是-
[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8 ] ]
热门推荐
10 朋友新年祝福语大全 简短
11 新年祝福语简短大方兔年
12 搬新家礼物祝福语简短
13 同学见面花束祝福语简短
14 五一假期祝福语幽默简短
15 离职欢送敬酒祝福语简短
16 对学弟的祝福语简短
17 考老师辞职祝福语简短
18 祝福语驱散霉运的话简短