跳到主要内容

chunk

2024年06月17日
柏拉文
越努力,越幸运

一、认识


问题: 将数组array拆分成多个size长度的区块,并将这些区块组成一个新数组。 如果array无法被分割成全部等长的区块,那么最后剩余的元素将组成一个区块。

二、语法


三、实现


function chunk(array, size = 1) {
const sizeCopy = Math.max(size, 0);
const length = array == null ? 0 : array.length;
if (length === 0 || sizeCopy < 1) {
return [];
}
let index = 0;
let resIndex = 0;
const result = new Array(Math.ceil(length / size));
while (index < length) {
result[resIndex++] = array.slice(index, (index += size));
}
return result;
}

console.log(chunk(["a", "b", "c", "d","e"], 3));