# 如何实现 chunk 函数,数组进行分组
Issue
欢迎在 Gtihub Issue 中回答此问题: Issue 661 (opens new window)
Author
function chunk(list, size) {
const l = [];
for (let i = 0; i < list.length; i++) {
const index = Math.floor(i / size);
l[index] ??= [];
l[index].push(list[i]);
}
return l;
}
Author
function chunk(array, limit) {
limit = array.length <= limit ? array.length : limit;
const result = [];
while (array.length) {
result.push(array.splice(0, limit));
}
return result;
}
Author
@haotie1990 这种实现方式很漂亮,但是有可能有副作用,当传入数组时,数组会被置空,可以先 [...array]
浅拷贝一份