本文实例讲述了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));//真实的 >之前运行结果:
![]()
扩展写法:
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中比较两个对象是否相同的方法示例