JavaScript前端分页核心是数据切片与状态控制,通过paginate函数实现:依据当前页码和每页条数计算起止索引,返回分页数据、总页数、上下页状态等。
JavaScript 中实现分页,核心是“数据切片 + 状态控制”,不依赖后端也能完成前端分页。关键在于:把原始数据按每页条数拆开,再根据当前页码取出对应片段,最后更新 UI。
假设有 100 条数据,每页显示 10 条:
)
写一个可复用的分页工具函数:
function paginate(data, page = 1, size = 10) {
const start = (page - 1) * size;
const end = start + size;
return {
list: data.slice(start, end),
total: data.length,
page,
size,
totalPages: Math.ceil(data.length / size),
hasPrev: page > 1,
hasNext: page < Math.ceil(data.length / size)
};
}调用示例:paginate(users, 3, 8) → 返回第 3 页、每页 8 条的数据及分页元信息。
用几个按钮控制页码,动态渲染列表和页码栏:
实际用时容易忽略这些点:
基本上就这些。纯前端分页适合数据量不大(如 ≤ 5000 条)的场景;数据量大务必交给后端做 offset/limit 分页,前端只传页码和大小即可。