介绍
这篇文章给大家分享的是有关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中如何比较两个对象是否相等