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. C# 3.0入门系列
  2. python语言能干什么-Python这么火到底能干啥?
  3. 「Python」pycharm多项目虚拟环境切换
  4. 《剑指offer》包含min函数的栈
  5. 虚拟机VirtualBox中Ubuntu无法全屏(终极解决方法)
  6. python 读取word_教你怎么使用 Python 对 word文档 进行操作
  7. 关于解决并发问题,99%的程序员都会忽略的一个重要方案!
  8. windows内置的linux安卓驱动多系统摆脱虚拟机(上)
  9. Ghost 2.18.3 发布,基于 Markdown 的在线写作平台
  10. MySQL中Checkpoint技术
  11. Linux中文档与目录的特殊权限
  12. cad布局怎么用_【CAD】CAD布局怎么用?
  13. cad连筋字体怎么安装_你还在为CAD带“?”号头疼吗?丨CAD2500份字体大全及安装方法丨...
  14. 23-Mixly红外遥控编程 | Mixly技巧系列
  15. PTA基础编程题目集编程题
  16. Python创建分栏排版的Word文档
  17. python读取钉钉考勤数据
  18. appium+python入门,启动app
  19. 极简之SVN使用,入职必备
  20. onmouseover、onmouseenter、onmouseleave、onmouseout的区别

热门文章

  1. 中国神华25日网上申购 百亿大象逐一回顾
  2. 人生第一篇博客——小试牛刀
  3. 滚珠丝杠与滚珠丝杠副区别
  4. 热学在计算机方面的应用,计算机模拟实验在“热力学统计物理”教学中的应用...
  5. 【爬虫+算法】爬取成都地铁所有站点信息,并基于迪杰特斯拉算法计算最优地铁路线
  6. 用PHP实现一个简单的网页计算器
  7. kotlin--综合运用Hilt、Paging3、Flow、Room、Retrofit、Coil等实现MVVM架构实战
  8. 2022车工(技师)考试题库模拟考试平台操作
  9. Android FileManager 中点击音乐文件设置为来电铃声 M
  10. Trace32专栏——进阶1