es6中如何利用一个对象给另外一个对象赋值?请看下面表述

let arra = {
    'aaa':'',
    'bbb':'',
    'ccc':''
}
let arrb = {
    'aaa':'111',
    'bbb':'222',
    'ccc':'333',
    'ddd':'444',
    'eee':'555'
}
listAssign(arra,arrb)

执行listAssign后,arra变成了

arra = {
    'aaa':'111',
    'bbb':'222',
    'ccc':'333'
}

即,利用B对象给A对象赋了值
请问:这个listAssign应该如何实现?

阅读 10.1k
5 个回答
const listAssign = (arrA, arrB) => Object.keys(arrA).forEach(key => { arrA[key] = arrB[key] || arrA[key]});
function listAssign(arra, arrb){
      let b = {}
      for(let item in arrb) {
        console.log(item)
        if (Object.keys(arra).includes(item)) {
          b[item] = arrb[item]
        }
      }
      return b
    }
for(var key in arra){
    arra[key] = arrb[key]
}
function listAssign(arra, arrb) {
    return Object.keys(arra).forEach(key => {
        if(arrb.hasOwnProperty(key)) {
            arra[key] = arrb[key]
        }
    })
}
新手上路,请多包涵

Object.assign(a, b)

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