js处理二维数组 根据相同下标 重组新数组

阐述一下产品需求,后端返回的是一个二维数组,需要根据二维数组里的相同下标去重组新数组,同事用他的方式处理了一下,我趁着有空也试了下,本来想用es6的语法看看能不能处理,结果还是趋向于原生,如果大家有好的写法,更精简的写法也可以分享出来。



后端返回的数据如下

代码如下(示例):

data: {
  area: [{
   area_name: '长沙市',
   value: [0,0,0,266]
   }, {
     area_name: '邵阳市',
     value: [0,9,0,266]
   }, {
     area_name: '吉首市',
     value: [0,2,5,266]
    }
  ]
  energy_type: ['项目1', '项目2', '项目3', '项目4']
}
我的处理是直接拉平成一维数组,然后处理里面的value这个数组,通过下标重组

代码如下(示例):

let obj = data.area.flat()
let obj1 = {}
let obj2 = obj.map(item => item.area_name)
// obj2保存的是需要用到的地名
obj.forEach(item => {
  item.value.forEach((ele, index) => {
   if(obj1[index]) {
    obj1[index].push(ele)
   } else {
     obj1[index] = [ele]
    }
  })
}) 

总结

最后还是用了forEach,其实map也可以

欢迎大家有啥好的写法可以发评论区一起学习下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值