異なる 2 つのネストされたオブジェクトがあり、それらのネストされたプロパティの 1 つに違いがあるかどうかを知る必要があります。
var a = {};
var b = {};
a.prop1 = 2;
a.prop2 = { prop3: 2 };
b.prop1 = 2;
b.prop2 = { prop3: 3 };
オブジェクトは、より多くのネストされたプロパティを使用して、はるかに複雑になる可能性があります。ただし、これは良い例です。lodash で再帰関数などを使用するオプションがあります...
ベストアンサー1
簡単でエレガントな解決策は、_.isEqual
は、深い比較を実行します。
var a = {};
var b = {};
a.prop1 = 2;
a.prop2 = { prop3: 2 };
b.prop1 = 2;
b.prop2 = { prop3: 3 };
console.log(_.isEqual(a, b)); // returns false if different
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
ただし、このソリューションでは、どのプロパティが異なるかは表示されません。