如果你想要将 JavaScript 数组分组,可以使用以下方法之一:
- 使用循环和条件语句:
const groupArray = (arr, size) => {
const groups = [];
for (let i = 0; i < arr.length; i += size) {
groups.push(arr.slice(i, i + size));
}
return groups;
}
上面的代码使用循环和 slice() 方法将数组分成指定大小的组。
- 使用 Array.prototype.reduce() 和 Array.prototype.push():
const groupArray =(arr, size) =>
arr.reduce((acc, val, i) => (i % size ? acc[acc.length - 1].push(val) : acc.push([val]), acc), []);
上面的代码使用 reduce() 方法和 push() 方法将数组分成指定大小的组。
- 使用 Array.from() 和 slice():
const groupArray =(arr, size) => Array.from({length: Math.ceil(arr.length / size)}, (v, i) => arr.slice(i * size, i * size + size));
上面的代码使用 Array.from() 和 slice() 方法将数组分成指定大小的组。
请注意,这些方法都是基于数组的浅拷贝实现的,因此不会更改原始数组。
例如,你可以使用以下代码测试上述方法:
const arr = [1, 2, 3, 4, 5, 6, 7, 8];
const size = 3;
console.log(groupArray(arr, size)); // [[1, 2, 3], [4, 5, 6], [7, 8]]