您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

JavaScript中比较两个对象是否相等的方法

2024/5/1 11:06:04发布23次查看
本篇文章给大家带来的内容是关于javascript中比较两个对象是否相等的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
这是我在一次面试中,被面试官所提问的一道题
在这次面试题中
相等:指的是对象的属性个数值相等有这样两个obj
let obj1 = {    name:'李德华',    age:18,    price:nan}let obj2 = {    name:'张德华',    age:18,    price:nan}
我能想到的一种方案
function compare(obj1,obj2){    if(object.keys(obj1).length != object.keys(obj2).length){      return false    }else{      for(key in obj1){        if(obj2.hasownproperty(key)){            if( !object.is(obj1[key],obj2[key])){                return false;            }        }else{          return false        }      }      return true    }}
解答过程的思考由于obj没有length,我只能通过object.keys()转化成数组
进入第二步,对象中的属性在另一个obj中是否存在。此处使用了object.hasownproperty() 仅对该对象中的属性进行对比(避免obj继承了父级的属性)
承载第二步的基础对属性值进行比对。es6中object.is()来避免出现nan不等于自身的问题
或者使用 underscore.js中的_.isequal
以上就是javascript中比较两个对象是否相等的方法的详细内容。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product