Write a function that splits an array (first argument) into groups the length of size (second argument) and returns them as a two-dimensional array.
分割数组:将一个数组(第一个参数)分割成一组长度为 size(第二个参数)的数组,然后在一个二维数组中返回这些结果。
function chunkArrayInGroups(arr, size) {
if (size <= 0) {
return [arr];
}
var all = [], temp = [];
for (var i = 0; i < arr.length; i++) {
if (temp.length < size) {
temp.push(arr[i])
} else {
all.push(temp);
temp = [arr[i]]
}
}
if (temp.length !== 0) all.push(temp);
return all;
}
// 多例子测试
chunkArrayInGroups(["a", "b", "c", "d"], 0)
// [["a", "b", "c", "d"]]. 很容易漏了 或者返回错误 返回的是二维数组
chunkArrayInGroups(["a", "b", "c", "d"], 2)
// [["a", "b"], ["c", "d"]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5], 3)
// [[0, 1, 2], [3, 4, 5]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5], 2)
// [[0, 1], [2, 3], [4, 5]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5], 4)
// [[0, 1, 2, 3], [4, 5]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6], 3)
// [[0, 1, 2], [3, 4, 5], [6]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 4)
// [[0, 1, 2, 3], [4, 5, 6, 7], [8]].
chunkArrayInGroups([0, 1, 2, 3, 4, 5, 6, 7, 8], 2)
// [[0, 1], [2, 3], [4, 5], [6, 7], [8]].
本文介绍了一个JavaScript函数,该函数能够将一个数组分割成指定大小的子数组,并返回这些子数组组成的二维数组。通过多个实例展示了如何使用此函数。
210

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



