比较javascript中的两个对象

比较javascript中的两个对象,javascript,json,node.js,Javascript,Json,Node.js,我有两个对象,比方说: a: b: 我想比较两者,并返回相互匹配的字段数(在本例中,它将返回2,因为只有2个字段匹配)。 有什么办法吗 提前谢谢 这是一种相当幼稚的方法,只要比较的对象不包含对象,它就会起作用: function compare(a, b) { return Object.keys(a).filter(k => a[k] === b[k]).length } 我有一些想法。你有没有尝试过自己的想法?也许使用?是“has_pool”,意思是真/假。。我们是在做肤浅的比

我有两个对象,比方说:

a:

b:

我想比较两者,并返回相互匹配的字段数(在本例中,它将返回2,因为只有2个字段匹配)。 有什么办法吗


提前谢谢

这是一种相当幼稚的方法,只要比较的对象不包含对象,它就会起作用:

function compare(a, b) {
  return Object.keys(a).filter(k => a[k] === b[k]).length
} 

我有一些想法。你有没有尝试过自己的想法?也许使用?是“has_pool”,意思是真/假。。我们是在做肤浅的比较吗?好吧,假设这是肤浅的测试。出于对警察的恐惧,我在这里发布了一个解决方案。我不会提出一个合适的解决方案,因为它只会被否决。Object.keys(a).reduce(函数(acc,key){return acc+(a[key]==b[key]);},0)
{
  "sale_price": 100,
  "has_pool": no,
  "rooms": 3
}
function compare(a, b) {
  return Object.keys(a).filter(k => a[k] === b[k]).length
}