请问如何理解这段分页代码

qingwadaxia_1 2021-03-20 09:38:31

pages(){
const pages = []
this.list.forEach((item,index)=>{
const page = Math.floor(index / 8)
if(!pages[page]){
pages[page] = []
}
pages[page].push(item)
})
return pages
}

看了好久 都没办法理解,打印了好多次,感觉像是前8次为0,是false 取反 之类的,
...全文
180 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
泡泡鱼_ 2021-03-21
  • 打赏
  • 举报
回复

//page为页码,每页包含8条数据:它主要的功用是确定源list中当前项应该被分配至哪个分组(分页)中
    const page = Math.floor(index / 8);

if(!pages[page]) {
        pages[page] = []
    };
不是取反什么的,是确定这一页数据是否已经存在了,不存在就将初始值指定为一个空数组。换成
pages[page] = pages[page] || [];
你是不是好理解了? 还是没有仔细理解的原因,你从下至下,只需把index从0到~8一一代入,然后记录下pages,然后你看看最后的pages,你就早明白了
河南棒小伙 2021-03-21
  • 打赏
  • 举报
回复
整个代码的意思就是将this.list中的元素八个八个分成一组,最终pages的数据结构是:pages:[[item,item,item...8个],[item,item,item...8个],...]

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧