亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

帶范圍的簡單分頁算法

帶范圍的簡單分頁算法

偶然的你 2023-07-29 15:58:57
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
查看完整描述

1 回答

?
胡說叔叔

TA貢獻1804條經驗 獲得超8個贊

對于非動態方法,您可以將結果分為三個部分,其中不同的實際頁面創建不同的數組。


function getPagination(page, total) {

    if (page < 3) return [1, 2, 3, '...', total];

    if (page < total - 2) return ['...', page - 1, page, '...', total];

    return [1, '...', total - 2, total - 1, total];

}


for (let i = 1; i <= 10; i++) console.log(i, ':', ...getPagination(i, 10));

.as-console-wrapper { max-height: 100% !important; top: 0; }


查看完整回答
反對 回復 2023-07-29
  • 1 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號