js数组分页

  • 将数组进行分页,返回新的分页数组
/** 将数组进行分页,返回新的分页数组
 * @param {Object} pageSize 每页大小
 * @param {Object} arr 数组
 */
function returnAllPageFunc(pageSize, arr) {
    
    
	let pageNum = 1
	let pageObj = {
    
    
		pageNum: 1,
		list: []
	}
	let pageResult = []
			
	let newArr = JSON.parse(JSON.stringify(arr))
	let totalPage = newArr.length ? Math.ceil(arr.length / pageSize) : 0 // 计算总页数
			
	for (let i = 1; i <= totalPage; i++) {
    
    
		if (totalPage == 1) {
    
    
			pageNum += 1
			pageObj.list = newArr.splice(0, arr.length)
		} else if (i <= totalPage) {
    
    
			pageNum += 1
			pageObj.list = newArr.splice(0, pageSize)
		} else {
    
    
			pageObj.list = newArr.splice(0, arr.length % pageSize)
		}
		pageResult.push(pageObj)
		pageObj = {
    
    
			pageNum: pageNum,
			list: []
		}
	}
	console.log(`分页:${
      
      JSON.stringify(pageResult)}`)
	return pageResult
}
let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
returnAllPageFunc(10, arr)

猜你喜欢

转载自blog.csdn.net/jstljspservlet/article/details/117413745