JavaScript中如何比较两个对象是否相等

  介绍

这篇文章给大家分享的是有关JavaScript中如何比较两个对象是否相等的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

这是我在一次面试中,被面试官所提问的一道题

在这次面试题中

相等:指的是对象的属性个数值相等

有这样两个obj

让其中obj1={   名称:& # 39;李德华& # 39;,   年龄:18岁   价格:南   }      让methoda={   名称:& # 39;张德华& # 39;,   年龄:18岁   价格:南   }

我能想到的一种方案

函数比较(其中obj1 methoda) {   如果(种(其中obj1)。长度!=种(methoda) . length) {   返回假   其他}{   在其中obj1(关键){   如果(obj2.hasOwnProperty(关键)){   如果(! Object.is(其中obj1(关键),methoda(例子))){   返回错误;   }   其他}{   返回假   }   }   还真   }   }

解答过程的思考

<李>

由于obj没有长度,我只能通过种()转化成数组

<李>

进入第二步,对象中的属性在另一个obj中是否存在。此处使用了Object.hasOwnProperty()仅对该对象中的属性进行对比(避免obj继承了父级的属性)

<李>

承载第二步的基础对属性值进行比对.ES6中Object.is()来避免出现南不等于自身的问题

或者使用Underscore.js中的_。isEqual

感谢各位的阅读!关于JavaScript中如何比较两个对象是否相等就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

JavaScript中如何比较两个对象是否相等