#js 前端分页算法
在写项目的过程中有时候需要前端处理数据分页,思路就是先拿到 数据 (数组), 分页参数(第几页第几条),然后先算出 开始截取下标位置和末尾截取下标位置,;利用数组Array的slice方法得到想要的数组
代码如下:
let temp = [ //测试数据
{
name: "第1条"
}, {
name: "第2条"
}, {
name: "第3条"
}, {
name: "第4条"
}, {
name: "第5条"
}, {
name: "6"
}, {
name: "7"
}, {
name: "8"
}, {
name: "9"
}, {
name: "10"
}, {
name: "11"
}, {
name: "12"
}, {
name: "13"
}, {
name: "14"
}, {
name: "15"
}, {
name: "16"
}, {
name: "17"
}, {
name: "18"
}, {
name: "19"
}, {
name: "20"
}, {
name: "21"
}, {
name: "22"
}, {
name: "23"
}, {
name: "24"
}, {
name: "25"
}, {
name: "26"
}, {
name: "27"
}, {
name: "28"
}, {
name: "29"
}, {
name: "30"
}, {
name: "31"
},
]
/**
\* data 数据
\* index 第几页
\* size 多少条
**/
const formatPaging = (data, index, size) => {
index = Number(index)
size = Number(size)
const tablePage = (index - 1) * size //得出开始截取下标
const tableRow = (index - 1) * size + size //得出截取末尾下标
return data.slice(tablePage, tableRow) //利用数组Array的slice方法截取对应的位置
}
let data = formatPaging(temp, 1, 10)
console.log(data)