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

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

JavaScript分頁算法原理是什么

JavaScript分頁算法原理是什么

智慧大石 2018-09-08 10:31:56
上面圖片的實現分頁算法的代碼有點看不明白?一、const聲明的page不是常量嗎?forEach每次循環遍歷的話,page不是要改變嗎?但是為啥沒有報錯,是不是我理解錯了,還是我的知識點盲區?二、整體的算法有點看不明白,請各位大佬幫忙指點一下,謝謝代碼:pages(){const=[]this.iconList.forEach((item,index) => {    const page =Math.floor(index/8)    if(!pages[page]){     pages[page]=[]     }     pages[page].push(item) })return pages}
查看完整描述

2 回答

?
躍然一笑

TA貢獻1826條經驗 獲得超6個贊

每次循環遍歷的const page的作用域只是當前的箭頭函數,函數執行完生命周期就結束了;因此不存在重復聲明的問題;

整體邏輯很簡單啊,沒有什么算法;

pages(){    // 最終分頁結果
    const pages=[]    // 遍歷icon列表
    this.iconList.forEach((item,index) => {        // 每8條為一頁;例:0-7為第一頁
        // page為當前頁碼;
        const page =Math.floor(index/8)        // 判斷pages中當前頁的存儲數組是否已聲明,未聲明則聲明當前頁為數組格式;
        if(!pages[page]){
            pages[page]=[]
        }        // 將當前icon信息放入對應的頁碼數組中;
        pages[page].push(item)
    })    // 返回分頁之后的icon集合;
    return pages
}


查看完整回答
反對 回復 2018-09-09
?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

1: forEach的作用域里面的const 不涉及修改

2: index傳入為0 1 2.... 他這邊8個處理一次 0-8 都是處理為0
最終格式應該為:

[{
  X :...,
   ...
},{},{}]


查看完整回答
反對 回復 2018-09-09
  • 2 回答
  • 0 關注
  • 1980 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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