JS比较两个对象内容是否相同 —— JAVA

  • 欢迎观看本博客
  • 题目详情

欢迎观看本博客

  您好! 这是我编程上遇到的困惑,现在记录下来。如有疏漏与不足之处还请多多指教。

题目详情

  在实际开发中,我们常常遇到判断两个对象的内容是否相同,或者当前对象内容是否有改变。

实例:

  var demoA = {
    name:2,
     c:{
      age:3
     }
  };
  var demoB = {
    name:2,
     c:{
       age:3
     }
  }

内容比较方法:

  function isObjectValueEqual(a, b) {
     let aProps = Object.getOwnPropertyNames(a);
     let bProps = Object.getOwnPropertyNames(b);
     if (aProps.length !== bProps.length)
        return false;
     for (var i = 0; i < aProps.length; i++) {
        let propName = aProps[i];
        let propA = a[propName];
        let propB = b[propName];
     if ((typeof (propA) === ‘object’)) {
        return isObjectValueEqual(propA, propB);
     }else{
        if (propA !== propB)
           return false;
       }
     }
  return true;
  }

总结:
  方法比较简单转化数组,判断长度,进行递归遍历。
  如果理解有困难,建议用debug追踪一下,就好了。

寄语:
  书读百遍,
  其义自见。
                    ——晋·陈寿 《三国志·魏志·董遇传》

JAVA杂谈 —— 1.2 JS比较两个对象内容是否相同相关推荐

  1. js中两个对象的比较

    代码取自于underscore.js 1.8.3的isEqual函数. 做了一些小小的修改,主要是Function的比较修改. 自己也加了一些代码解读. <!DOCTYPE html> & ...

  2. js比较两个对象数组是否相同

    1.js 比较两个对象数组是否完全相同 let obj1 = [{"id" : 1, "name" : "xiaoMing"}]; let ...

  3. js比较两个对象是否相同的函数

    js比较两个对象是否相同的函数 很多时候需要比较两个对象,来判断是否可以提交表单等操作,此时就需要比较两个对象是否相同,参考其他人的方法,自己写了以下函数来比较两个对象 /*** 两个对象比较* @p ...

  4. 如何判断JS中两个对象是否相等?

    ① 方法一:通过JSON.stringify(obj)来判断两个对象转后的字符串是否相等 优点:用法简单,对于顺序相同的两个对象可以快速进行比较得到结果 缺点:这种方法有限制就是当两个对比的对象中ke ...

  5. JS对比两个对象键值全等

    比较两个对象的键值是否全等,说的就是字面上的相等,也就是看起来的一模一样的,举个栗子 let o1 = { let o2 = {name: 'joe', name: 'joe' isOld: fals ...

  6. js合并两个对象(面试题)

    const a ={a:1,b:2} const b ={b:1,c:2} // 两个对象合并 function extend(target,source){for (const key in sou ...

  7. java怎么实现两个对象内容的交换

    java在在实例化对象时,是放在栈内存,里面存的只是引用,实际成员变量是存在堆内存里,所以直接交换类其实只是复制了一份引用,成员变量的值并没有改变.... public class ParamOfMe ...

  8. js中两个对象数组如何比对合并

    情景 有时候,从后端的数据并非是可以直接使用渲染的,需要经过处理之后才可使用,比如说以下这种情况 //需要将这个数组中的字段合并,渲染在列表中 const array1 = [{id:1,name:' ...

  9. 【新手入门.考试高频】Java中“一个类声明的两个对象如果有相同的引用,二者就有相同的变量”的理解

    <全文仅为个人学习记录,如有错误欢迎指正> 直接来看一道题. 说出下列E类中[代码1]~[代码3]的输出结果. [答案] 1 121 121 class Fish {int weight ...

最新文章

  1. 推理计算过程_转导推理—Transductive Learning
  2. 极客学院职业路径图课程视频下载-爬虫
  3. 用户自助查看kubectl使用的证书状态以及如何更新
  4. android修改电量颜色,android状态栏电池颜色?
  5. C语言 删除文件 M,最全的C盘可删除文件清单
  6. Unix Vi 命令详解
  7. 8月7日 使用Jquery做表格的隔行变色,点击事件
  8. 成为JavaGC专家Part I — 深入浅出Java垃圾回收机制
  9. 引入ELK前需要知道的“坑”(上)
  10. 关于 JVM 内存的 N 个问题(转)
  11. 【JZOJ4832】【NOIP2016提高A组集训第3场10.31】高维宇宙
  12. 共轭梯度法matlab程序精确线搜索,具有精确线性搜索的改进共轭梯度法
  13. 人脸识别php程序,教你用PHP实现微信小程序人脸识别刷脸登录功能
  14. 第二期-Linux内核发展史(1)
  15. 学计算机的能看出批图吗,P过的图片能看出来吗?给你4个鉴别方法!
  16. 网贷查询接口开发 网贷黑名单查询 个人网贷黑名单查询
  17. 一个数和0xFFFF与运算的意义
  18. 通过快递100获取快递单号,结合c-lodop热敏纸打印 – 通过菜鸟ISV/自研ERP使用菜鸟电子面单...
  19. 如何高效进行无人机动力测试-电池效率
  20. hightCharts制作三维立体图

热门文章

  1. php中求解二元一次方程,二元一次方程组及其解法(第1课时)
  2. 求职面试心经40条——谨记原则
  3. 1.Youtube视频下载_2.整张网页保存为图片
  4. [计算机网络笔记01] Packet Tracer的简单使用
  5. Zotero使用指南-下载、文献导入与阅读、文献引用与插件使用
  6. SATA硬盘的设置指南 【对使用sata的朋友挺有用的一篇文章】
  7. Argo CD 使用
  8. 游戏中的数学之角与弧度、三角函数
  9. 攻防世界 Misc高手进阶区 3分题 肥宅快乐题
  10. 教你写出高质量SQL(实践必备)