我有两个嵌套对象
因此,对于给定的
obj1
和obj2
,我想比较它们并递归返回一个对象,对于每个嵌套键,该对象具有类似相等的布尔标志。因此,对于给定的
obj1
,例如:obj1 = {
prop1: 1,
prop2: "foo",
prop3: {
prop4: 2,
prop5: "bar"
}
}
并且像obj2
一样
obj2 = {
prop1: 3,
prop2: "foo",
prop3: {
prop4: 2,
prop5: "foobar"
},
prop6: "new"
}
它应该返回
equality = {
prop1: false,
prop2: true,
prop3 : {
prop4: true,
prop5: false
},
prop6: false
}
如果一个对象有一个新的属性,比如obj2.prop6
,那么平等性将会是equality.prop6 = false
。
对于非嵌套对象,这里提供了一个简单的键比较解决方案获取JavaScript中两个对象之间差异的属性。而对于递归比较嵌套对象,则可以查看这里JavaScript:深度递归比较:对象和属性。