思路:
声明一个空数组,利用Array.slice()方法将分割后的数组追加到该数组上
实现:
// 根据指定个数分割数组
function chunkArr (arr, size) {
//判断如果不是数组(就没有length),或者size没有传值,size小于1,就返回空数组
if (!arr.length || !size || size < 1) return []
let [start, end, result] = [null, null, []]
for (let i = 0; i < Math.ceil(arr.length / size); i++) {
start = i * size
end = start + size
result.push(arr.slice(start, end))
}
return result
}
// 验证方法
let arrList = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
console.log(chunkArr(arrList, 5))
方法返回值打印结果如图:
注:Math.ceil() 函数返回大于或等于一个给定数字的最小整数。
具体介绍参考https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Math/ceil