又是纯干货的一天
问题: 有时候后端给我门反回来一个数组,数组长度可能是1条,10条,100条,但是我门的需求是将数组长度100条的数组分割成10块,每一块又是10个数组,类似于:[ […10],[…10],…,[…10] ],就是把长度为100的数组分成10块,每一块里面10条或者5条,再添加到新的数组里面。这种场景虽然不多见,但是有时候能用到,现在请注意你的下方代码,上代码:
function chunk(arr, num) {
let Array = [[]]
let number = 0
for (let i = 0; i < arr.length; i++) {
if (i > 0 && i % num == 0) {
number++
Array.push([])
}
Array[number].push(arr[i])
}
return Array
}
const list = [1,2,3,4,5,6,7,8,9,10]
console.log(chunk(list,5)). // >> [[1,2],[3,4],[5,6],[7,8],[9,10]]
console.log(chunk(list,2)). // >> [[1,2,3,4,5],[6,7,8,9,10]]
console.log(chunk(list,4)). // >> [[1,2,3],[4,5,6],[7,8,9],[10]]