js中比较两个对象是否相同的方法示例

  

本文实例讲述了js中比较两个对象是否相同的方法。分享给大家供大家参考,具体如下:

  

js中,很轻易就可以比较2个普通字符串/数字是否相同,但是,如何比较2个对象是否相同呢?

  

在此我便给出较为简单的方法,如下:

     //比较2个对象是否相同   函数isObjEqual (o1、o2) {   var props1=Object.getOwnPropertyNames (o1群);   var props2=Object.getOwnPropertyNames (o2);   如果(props1。长度!=props2.length) {   返回错误;   }   (var=0, max=props1.length;我& lt;马克思;我+ +){   var propName=props1[我];   如果(o1 [propName] !==o2 (propName)) {   返回错误;   }   }   返回true;   }   var其中obj1={id: 1,名字:“张三”}   var methoda={id: 2,名字:“李四”}   var obj3={id: 1,名字:“张三”,年龄:25}   var obj4={id: 1,名字:“张三”}   console.log (isObjEqual(其中obj1 methoda));//假的   console.log (isObjEqual(其中obj1 obj3));//假的   console.log (isObjEqual(其中obj1 obj4));//真实的      之前      

运行结果:

  

 js中比较两个对象是否相同的方法示例

  

扩展写法:

        Object.prototype。vequal=函数(obj) {   var props1=Object.getOwnPropertyNames(这个);   var props2=Object.getOwnPropertyNames (obj);   如果(props1。长度!=props2.length) {   返回错误;   }   (var=0, max=props1.length;我& lt;马克思;我+ +){   var propName=props1[我];   如果(这[propName] !==obj [propName]) {   返回错误;   }   }   返回true;   }   var其中obj1={id: 1,名字:“张三”}   var methoda={id: 2,名字:“李四”}   var obj3={id: 1,名字:“张三”,年龄:25}   var obj4={id: 1,名字:“张三”}   console.log (obj1.equal methoda());//假的   console.log (obj1.equal (obj3));//假的   console.log (obj1.equal (obj4));//真实的      之前      

感兴趣的朋友可以使用:http://tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。

  

更多关于JavaScript相关内容可查看本站专题:《JavaScript面向对象入门教程》、《JavaScript中json操作技巧总结》,《JavaScript切换特效与技巧总结》,《JavaScript查找算法技巧总结》,《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》,《JavaScript数据结构与算法技巧总结》,《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

  

希望本文所述对大家JavaScript程序设计有所帮助。

js中比较两个对象是否相同的方法示例