场景:一般分页效果是前端提供pageNum(第几页),pageSIze(一页几个),但是最近在做的时候有个场景需要前端进行分页,所有就自己写了个函数,
/**
*
* @param {*} array 源数据
* @param {*} pageNum pageNum(第几页)
* @param {*} pageSIze pageSIze(一页几个)
* @returns
*/
const arrData = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
const chunk = (array,pageNum , pageSIze)=>{
if (array.length === 0) []
pageSIze = pageSIze || 1
const bigArr = []
let smallArr = []
array.forEach(item => {
if (smallArr.length === 0) {
bigArr.push( smallArr)
}
smallArr.push(item)
if (smallArr.length === pageSIze) {
smallArr = []
}
})
return bigArr[pageNum - 1]
}
const result = chunk(arrData,2,5)
console.log("🚀 ~ file: 002 分页效果.js ~ line 27 ~ result", result) // [ 5, 6, 7, 8, 9 ]
希望能帮助到您,点个赞了,我的老北鼻