上面圖片的實(shí)現(xiàn)分頁算法的代碼有點(diǎn)看不明白?一、const聲明的page不是常量嗎?forEach每次循環(huán)遍歷的話,page不是要改變嗎?但是為啥沒有報(bào)錯(cuò),是不是我理解錯(cuò)了,還是我的知識(shí)點(diǎn)盲區(qū)?二、整體的算法有點(diǎn)看不明白,請(qǐng)各位大佬幫忙指點(diǎn)一下,謝謝代碼: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貢獻(xiàn)1826條經(jīng)驗(yàn) 獲得超6個(gè)贊
每次循環(huán)遍歷的const page
的作用域只是當(dāng)前的箭頭函數(shù),函數(shù)執(zhí)行完生命周期就結(jié)束了;因此不存在重復(fù)聲明的問題;
整體邏輯很簡單啊,沒有什么算法;
pages(){ // 最終分頁結(jié)果 const pages=[] // 遍歷icon列表 this.iconList.forEach((item,index) => { // 每8條為一頁;例:0-7為第一頁 // page為當(dāng)前頁碼; const page =Math.floor(index/8) // 判斷pages中當(dāng)前頁的存儲(chǔ)數(shù)組是否已聲明,未聲明則聲明當(dāng)前頁為數(shù)組格式; if(!pages[page]){ pages[page]=[] } // 將當(dāng)前icon信息放入對(duì)應(yīng)的頁碼數(shù)組中; pages[page].push(item) }) // 返回分頁之后的icon集合; return pages }

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
1: forEach的作用域里面的const 不涉及修改
2: index傳入為0 1 2.... 他這邊8個(gè)處理一次 0-8 都是處理為0
最終格式應(yīng)該為:
[{ X :..., ... },{},{}]
添加回答
舉報(bào)
0/150
提交
取消