两个对象对比返回key相同值不同的key

两个数组的key可能不一样,如下需求就是两个数组key重复值不同的只有c

        let obj1 = {a: 1,b: 2,c: 3}
        let obj2 = {a: 1,b: 2,c: 4,d: 7}
阅读 5.6k
2 个回答
function getData (obj1, obj2) {
    const arr = []
    for (const key in obj1) {
        // 两个对象都有这个key,并且值不等
        if (obj1.hasOwnProperty(key) && obj2.hasOwnProperty(key) && obj1[key] !== obj2[key]) {
            arr.push(key)
        }
    }
    return arr
}

这样吧,如果存在 value有boolean: false值,你自己再加下判断

Object.keys(obj1).filter(item => obj2[item] && obj2[item] !== obj1[item])
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏