json 相加优化问题

json1 = [
  {
    a: 'aaa',
    b: 'bbb',
    c: 'ccc'
  },
  {
    a: 'ddd',
    b: 'eee',
    c: 'fff'
  }
]
json2 = [
  {
    id: 1
  },
  {
    id: 2
  }
]

想将两个json合成为

json3 = [
  {
    a: 'aaa',
    b: 'bbb',
    c: 'ccc',
    id: 1
  },
  {
    a: 'ddd',
    b: 'eee',
    c: 'fff',
    id: 2
  }
]

应该如何做呢?自己的想法是使用for回圈遍历... 希望能有效能更好多做法...
感谢了

阅读 4.6k
5 个回答

一行解决

const json3 = json1.map((v, i) => Object.assign({}, v, json2[i]))
let json1 = [
  {
    a: 'aaa',
    b: 'bbb',
    c: 'ccc'
  },
  {
    a: 'ddd',
    b: 'eee',
    c: 'fff'
  }
];
let json2 = [
  {
    id: 1
  },
  {
    id: 2
  }
];
// json1,json2长度得一致
let json3 = json1.map((item, i) => {
    return Object.assign(item, json2[i]);
})
console.log(json3);
let json3 = []
for (let i = json1.length; i--;) { 
    json3[i] = { 
        ...json1[i], 
        ...json2[i] 
    } 
}
var combineObjects = Array(json1.length).fill().map(function(v,i){
    return Object.assign({},json1[i],json2[i]);
})
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题