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


Posted in Javascript onSeptember 02, 2019

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

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

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

//比较2个对象是否相同
function isObjEqual(o1,o2){
  var props1 = Object.getOwnPropertyNames(o1);
  var props2 = Object.getOwnPropertyNames(o2);
  if (props1.length != props2.length) {
    return false;
  }
  for (var i = 0,max = props1.length; i < max; i++) {
    var propName = props1[i];
    if (o1[propName] !== o2[propName]) {
      return false;
    }
  }
  return true;
}
var obj1 = {id:1,name:"张三"}
var obj2 = {id:2,name:"李四"}
var obj3 = {id:1,name:"张三",age:25}
var obj4 = {id:1,name:"张三"}
console.log(isObjEqual(obj1,obj2));//false
console.log(isObjEqual(obj1,obj3));//false
console.log(isObjEqual(obj1,obj4));//true

运行结果:

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

扩展写法:

Object.prototype.vequal = function(obj){
  var props1 = Object.getOwnPropertyNames(this);
  var props2 = Object.getOwnPropertyNames(obj);
  if (props1.length != props2.length) {
    return false;
  }
  for (var i = 0,max = props1.length; i < max; i++) {
    var propName = props1[i];
    if (this[propName] !== obj[propName]) {
      return false;
    }
  }
  return true;
}
var obj1 = {id:1,name:"张三"}
var obj2 = {id:2,name:"李四"}
var obj3 = {id:1,name:"张三",age:25}
var obj4 = {id:1,name:"张三"}
console.log(obj1.equal(obj2));//false
console.log(obj1.equal(obj3));//false
console.log(obj1.equal(obj4));//true

感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码运行效果。

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

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

Javascript 相关文章推荐
优化 JavaScript 代码的方法小结
Jul 16 Javascript
js选取多个或单个元素的实现代码(用class)
Aug 22 Javascript
利用谷歌地图API获取点与点的距离的js代码
Oct 11 Javascript
js网页版计算器的简单实现
Jul 02 Javascript
JavaScript实现twitter puddles算法实例
Dec 06 Javascript
Javascript核心读书有感之语句
Feb 11 Javascript
AngularJS 与百度地图的结合实例
Oct 20 Javascript
jQuery实现页面顶部下拉广告
Dec 30 Javascript
vue构建动态表单的方法示例
Sep 22 Javascript
详解KOA2如何手写中间件(装饰器模式)
Oct 11 Javascript
微信小程序如何利用getCurrentPages进行页面传值
Jul 01 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
Apr 15 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 #Javascript
Layui 带多选框表格监听事件以及按钮自动点击写法实例
Sep 02 #Javascript
layer父页获取弹出层输入框里面的值方法
Sep 02 #Javascript
详解element-ui表格中勾选checkbox,高亮当前行
Sep 02 #Javascript
详解基于Vue的支持数据双向绑定的select组件
Sep 02 #Javascript
layui当点击文本框时弹出选择框,显示选择内容的例子
Sep 02 #Javascript
Vue内部渲染视图的方法
Sep 02 #Javascript
You might like
php扩展ZF――Validate扩展
2008/01/10 PHP
php 代码优化的42条建议 推荐
2009/09/25 PHP
PHP项目开发中最常用的自定义函数整理
2010/12/02 PHP
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
php正则表达式验证(邮件地址、Url地址、电话号码、邮政编码)
2016/03/14 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
禁止iframe脚本弹出的窗口覆盖了父窗口的方法
2014/09/06 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
Bootstrap弹出带合法性检查的登录框实例代码【推荐】
2016/06/23 Javascript
JS限定手机版中图片大小随分辨率自动调整的方法
2016/12/05 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
vue小白入门教程
2018/04/02 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
小程序富文本提取图片可放大缩小
2020/05/26 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
python动态加载变量示例分享
2014/02/17 Python
python抓取百度首页的方法
2015/05/19 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
vscode 远程调试python的方法
2017/12/01 Python
Python实现FTP弱口令扫描器的方法示例
2019/01/31 Python
python,Django实现的淘宝客登录功能示例
2019/06/12 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
Python使用re模块验证危险字符
2020/05/21 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
PyTorch如何搭建一个简单的网络
2020/08/24 Python
Python使用pycharm导入pymysql教程
2020/09/16 Python
Python爬取微信小程序Charles实现过程图解
2020/09/29 Python
python产生模拟数据faker库的使用详解
2020/11/04 Python
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
平面设计岗位职责
2013/12/14 职场文书
学校个人对照检查材料
2014/08/26 职场文书
干部考察材料范文
2014/12/24 职场文书
材料采购员岗位职责
2015/04/03 职场文书