后台传递回来的数组我想转换为另一个数组形式方便我渲染怎么实现呢?

后台给的数据如下

               let arr =[
                    {id:1,name:"小明",value:15,code:"a1a5a5"},
                    {id:2,name:"大明",value:25,code:"a5d5sa51"},
                    {id:3,name:"小红",value:252,code:"bv1c52b"},
                    {id:4,name:"大红",value:225,code:"wq4e5q"},
                    {id:5,name:"小强",value:54,code:"p1i2uo1"},
                    {id:6,name:"大强",value:205,code:"xcz21c"}
                ]

我想要的数据就是把第一个的和第两个的放在一个对象里面方便我循环渲染(就是把小明,大明的放在一起)
我想要的数据格式

          let mydata = [
                    {id:1,name:"小明",value:15,code:"a1a5a5",idTwo:2,nameTwo:"大明",valueTwo:25,codeTwo:"a5d5sa51"},
                    {id:3,name:"小红",value:252,code:"bv1c52b",idTwo:4,nameTwo:"大红",valueTwo:252,codeTwo:"wq4e5q"},
                    {id:5,name:"小强",value:54,code:"p1i2uo1",idTwo:6,nameTwo:"大强",valueTwo:205,codeTwo:"wq4e5q"}
                ]

怎么实现呢?

阅读 1.5k
1 个回答
  const mergeArr = arr => arr.reduce((res, val, i) => {
    if (i % 2) {
      const obj = res.pop()
      for (const [key, value] of Object.entries(val)) {
        obj[key + 'Two'] = value
      }
      res.push(obj)
    } else {
      res.push(val)
    }
    return res
  }, [])
  console.log(mergeArr(arr))
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题