function generatePageRange(currentPage, lastPage) {
const delta = 2;
const range = [];
for (let i = Math.max(2, (currentPage - delta)); i <= Math.min((lastPage - 1), (currentPage + delta)); i += 1) {
range.push(i);
}
if ((currentPage - delta) > 2) {
range.unshift('...');
}
if ((currentPage + delta) < (lastPage - 1)) {
range.push('...');
}
range.unshift(1);
if (lastPage !== 1) range.push(lastPage);
return range;
}
console.log('Selected page ${i}:', generatePageRange(5, 10));
我有总页面、页面范围和当前页面。
电流输出 [1、“...”、3、4、5、6、7、“...”、10]
预期产出
总页数 = 10,范围 = 5
页码 1 => 1, 2, 3, ---, 10
页码 2 => 1,2,3, ---, 10
页码 3 => ---, 3,4,---,10
页码 4 => ---, 4,5,---,10
页码 10 => 1, ---, 8, 9,10
胡说叔叔
相关分类