1.功能说明:
后端取出所有数据存在数组中,前端需要分页显示数据,通过此函数可以得到分页的数据。
2.源码:
/**
* @param currentPage---当前页数
* @param pageSize---每页显示的条数
* @param data---需要分页的数据
*/
function formatPageData(currentPage,pageSize,data){
var pageData = {"pageSzie":pageSize,"currentPage":currentPage,"totalPage":0,"items":[]};
var num = data.length;//数据的长度
var totalPage = 0;//总页数
if(num/pageSize > parseInt(num/pageSize)){
totalPage=parseInt(num/pageSize)+1;
}else{
totalPage=parseInt(num/pageSize);
}
pageData.totalPage=totalPage;
var maxLength = currentPage * pageSize - 1;
var minLength = currentPage * pageSize - pageSize;
for (var i = minLength; i < data.length; i++) {
if (maxLength < i) {
break;
} else {
pageData.items.push(data[i]);
}
}
return pageData;
}
3.测试结果:
调用:
formatPageData(1,3,[1,2,3,4,5,6,7,8]) ( 说明:传入8条数据,要求每页显示三条,返回第一页的数据)
返回:
{"pageSzie": 3, "currentPage": 1, "totalPage": 3, "items": [1, 2, 3]}