js嵌套数组数据操作

需求:
有3个小朋友 每个小朋友书包里有4种文具
现需要统计每个小朋友得每种文具分别有多少个?
即将每个小朋友得每种文具分别放到一个数组里
即将每个数组里得每一列数据放到一个新数组里,最终组成一个二维数组

var data = [{
          userId:1,
          userName:'小红',
          bag:[
            {id:1,type:'书本',count:1},
            {id:2,type:'橡皮',count:2},
            {id:3,type:'铅笔',count:3},
            {id:4,type:'钢笔',count:4}
          ]
        },{
          userId:2,
          userName:'小明',
          bag:[
            {id:1,type:'书本',count:5},
            {id:2,type:'橡皮',count:6},
            {id:3,type:'铅笔',count:7},
            {id:4,type:'钢笔',count:8}
          ]
        },{
          userId:3,
          userName:'小花',
          bag:[
            {id:1,type:'书本',count:9},
            {id:2,type:'橡皮',count:10},
            {id:3,type:'铅笔',count:11},
            {id:4,type:'钢笔',count:12}
          ]
        }]

数据操作部分:

 		let countArr = []
        for(let i=0;i<data.length;i++){
          let arr = data[i].bag
          if(arr && arr.length && arr.length != 0){
            for(let j=0;j<arr.length;j++){
              if(!countArr[arr[j].id]){
                countArr[arr[j].id] = []
              }
              countArr[arr[j].id].push(arr[j].count)
            }
          }
        }
        let keys = Object.keys(countArr) // 获取关联数组countArr得key数组
        let trueArr = [] //最后数据的容器
        for(let i=0;i<keys.length;i++){
          trueArr[i] = countArr[keys[i]]
        }

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值