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 相关文章推荐
基于JQuery的Pager分页器实现代码
Jul 17 Javascript
jQuery中on()方法用法实例详解
Feb 06 Javascript
JavaScript实现把数字转换成中文
Jun 29 Javascript
实现非常简单的js双向数据绑定
Nov 06 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
微信小程序  modal详解及实例代码
Nov 09 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
Aug 17 jQuery
微信小程序实现搜索功能
Mar 10 Javascript
vue Treeselect下拉树只能选择第N级元素实现代码
Aug 31 Javascript
原生JS实现京东查看商品点击放大
Dec 21 Javascript
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
vue中watch的用法汇总
Dec 28 Vue.js
浅谈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 XML数据解析代码
2010/05/26 PHP
刷新PHP缓冲区为你的站点加速
2015/10/10 PHP
php $_SESSION会员登录实例分享
2021/01/19 PHP
php进程间通讯实例分析
2016/07/11 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
javascript数组去掉重复
2011/05/12 Javascript
jquery动态增加text元素以及删除文本内容实例代码
2013/07/01 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
JS小游戏之象棋暗棋源码详解
2014/09/25 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
2016/09/27 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
js html5 css俄罗斯方块游戏再现
2016/10/17 Javascript
vue.js实现表格合并示例代码
2016/11/30 Javascript
自学实现angularjs依赖注入
2016/12/20 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
2020/04/11 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
[05:41]2014DOTA2西雅图国际邀请赛 小组赛7月10日TOPPLAY
2014/07/10 DOTA
python检测远程端口是否打开的方法
2015/03/14 Python
python并发编程之多进程、多线程、异步和协程详解
2016/10/28 Python
攻击者是如何将PHP Phar包伪装成图像以绕过文件类型检测的(推荐)
2018/10/11 Python
python+ffmpeg批量去视频开头的方法
2019/01/09 Python
CSS3 新增选择器的实例
2019/11/13 HTML / CSS
荷兰多品牌网上鞋店:Stoute Schoenen
2017/08/24 全球购物
漫威玩具服装及周边商品官方购物网站:Marvel Shop
2019/05/11 全球购物
Can a struct inherit from another struct? (结构体能继承结构体吗)
2016/09/25 面试题
优秀毕业生自荐信范文
2014/01/01 职场文书
一句话工作感言
2014/03/01 职场文书
《吃水不忘挖井人》教学反思
2014/04/15 职场文书
python 爬取豆瓣网页的示例
2021/04/13 Python
关于Numpy之repeat、tile的用法总结
2021/06/02 Python
总结高并发下Nginx性能如何优化
2021/11/01 Servers