js如何判断a数组的value和b数组的key是否相同从而组成新的数组?

a数组:
[{id:1,key:'key1',value:'ggg'},{id:2,key:'key2',value:'cccc'}]
b数组
[{id:3,key1:'sdf'},{id:4,key2:'sdfdff'}]

期望
[{id:3,key1:'sdf',key:'key1',value:'ggg'},{id:4,key2:'sdfdff',key:'key2',value:'cccc'}]

阅读 1.5k
1 个回答
var a = [{id:1,key:'key1',value:'ggg'},{id:2,key:'key2',value:'cccc'}]
var b = [{id:3,key1:'sdf'},{id:4,key2:'sdfdff'}]
function getData(a, b) {
    var list = b.map(item => {
        var obj = a.find(i => Object.keys(item).includes(i.key)) || {}
        return {...obj, ...item}        
    })
    return list
}

var c = getData(a, b)
console.log(c)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题