javascript - 如何检查两个对象属性是否匹配?

标签 javascript

假设有两个对象,但其中一个对象的属性与另一个对象不同。有没有办法找出哪些属性匹配?

例如:

var objectOne = {
  boy: "jack",
  girl: "jill"
}


var objectTwo = {
  boy: "john",
  girl: "mary",
  dog: "mo"
}

编辑:它应该告诉我在两个对象中都找到了 boygirl 属性名称。

最佳答案

var in_both = [];
for (var key in objectOne) { // simply iterate over the keys in the first object
    if (Object.hasOwnProperty.call(objectTwo, key)) { // and check if the key is in the other object, too
        in_both.push(key);
    }
}

C.f. https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/hasOwnProperty

现在,如果您也想测试值是否相同,只需向内部 if 的条件/主体添加更多代码即可。

关于javascript - 如何检查两个对象属性是否匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41133898/

相关文章:

javascript - 如何让当前可见的(默认隐藏的)slideToggle() .div 在另一个打开时关闭?

javascript - 动态key的调用方法

javascript - 如果不使用Alert box,JS函数不会被执行

javascript - document.head.appendChild(element) 即 ie7 和 ie8

javascript - netsuite是否支持preventDefault()?

javascript - 为什么这个 JavaScript 片段会返回 true?

javascript - 在网站上匹配某个单词 x 次的正则表达式

javascript - 使用 put inside 匿名函数回调

javascript - 如何使用 vanilla JS 在 CSS 中确定元素的高度或宽度是否设置为 100% 或 `auto`?

javascript - 在 View Angular2 中渲染动态数组