我有2个不同的嵌套对象,我需要知道它们的嵌套属性之一是否有所不同。
var a = {};
var b = {};
a.prop1 = 2;
a.prop2 = { prop3: 2 };
b.prop1 = 2;
b.prop2 = { prop3: 3 };
具有更多嵌套属性的对象可能要复杂得多。但这是一个很好的例子。我可以选择使用递归函数或带有lodash的东西...
一个简单而优雅的解决方案是使用_.isEqual
,它可以进行深度比较:
var a = {};
var b = {};
a.prop1 = 2;
a.prop2 = { prop3: 2 };
b.prop1 = 2;
b.prop2 = { prop3: 3 };
_.isEqual(a, b); // returns false if different
但是,此解决方案未显示哪个属性不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句