-
根据一个一维数组生成一个二维数组
需求: 后台返回一维数组的导航列表(10条数据), 假设每一页展示4条, 分3页展示
const arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
function reviseArr(val, num = 4) {
const newArr = []
let minArr = []
val.forEach(i => {
// 如果小数组放满, 新创建一个新的小数组
if (minArr.length == num) {
minArr = []
}
// 如果minArr为空,把它放到大数组中
// 可能第一次进入,也可能是小数组放满后新创建的小数组
if (minArr.length == 0) {
newArr.push(minArr)
}
// 将循环的每一项放到小数组中
minArr.push(i)
})
return newArr
}
console.log(reviseArr(arr,4))