对象和对象数组这种遍历怎么做?

作者站长头像
站长
· 阅读数 14

一个obj的值为对象和对象数组这种遍历怎么做?一个tabList为tabList:

[
        {
          label:'全部',
          name:'name1',
          number:10,
          id:1
        },
        {
          label:'处理中',
          name:'name2',
          number:4,
          id:2
        },
        {
          label:'已采纳',
          name:'name3',
          number:4,
          id:3
        },
        {
          label:'未采纳',
          name:'name4',
          number:1,
          id:4
        }
      ],

怎么通过循环遍历将obj里面key值对应的value值相应的赋值给tabList里面的number,当tabList里面的label为全部时,该项的number的值为obj里面所有key的value之和

回复
1个回答
avatar
test
2024-07-20

tabList.forEach(v => v.number = v.label == '全部' ? Object.values(obj).reduce((sum,n) => sum+(+n||0), 0) : (obj[v.label] || 0))

回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容