作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我有 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 };
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>
但是,此解决方案没有显示不同的属性。
关于javascript - 如何用 lodash 对 2 个对象进行深度比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31683075/
我是一名优秀的程序员,十分优秀!