2019-04-10
描述
根据指定的大小把一个大数组分成一些较小的数组。
提示
- 使用
Array.from()
创建一个新的小数组,用于存放大数组中符合条件的元素。 - 使用
Array.prototype.slice()
将大数组中的每个元素放入到一个长度为size
的新的小数组中。 - 如果原始的大数组无法进行平均分配,则将剩余的元素全部放入到最后一个新的小数组中。
代码
const chunk = (arr, size) =>
Array.from({ length: Math.ceil(arr.length / size) }, (v, i) =>
arr.slice(i * size, i * size + size)
);
示例
将一维数组划分为二维数组:
chunk([1, 2, 3, 4, 5], 2); // [[1,2],[3,4],[5]]