对比两个对象的属性和值是否完全相同

// 对比两个对象的值是否完全相等 返回值 true/false
    isObjectValueEqual (a, b) {
      //取对象a和b的属性名
      var aProps = Object.getOwnPropertyNames(a);
      var bProps = Object.getOwnPropertyNames(b);
      //判断属性名的length是否一致
      if (aProps.length != bProps.length) {
          return false;
      }
      //循环取出属性名,再判断属性值是否一致
      for (var i = 0; i < aProps.length; i++) {
        var propName = aProps[i];
        if (a[propName] !== b[propName]) {
            return false;
        }
      }
      return true;
    }

  

原文地址:https://www.cnblogs.com/lml2017/p/12012486.html

时间: 2024-11-08 04:52:58

对比两个对象的属性和值是否完全相同的相关文章

Java中对比两个对象中属性值[反射、注解]

在Java中通常要比较两个对象在修改前与修改后的值是否相同,一般我们采用的是反射技术获取对象的get方法[或其他的方法]获取值并做比较.如果系统将修改的属性名称也显示出来,这样就能更直观的显示类中的哪一个属性的值被修改了.然后Java中只能获取属性的名称,也就是英文标识的属性名,但是一般我们都会在属性后面添加属性的注释,但是Java不提供注释获取的方法.所以我们只能使用另外一种方式来将属性和属性注释关联起来,这就是Java中的@Annotation. public static  Map<Str

有两个地方,用到了javabean对象和属性字符串值之间的转换

1.有两个地方,用到了javabean对象和属性字符串值之间的转换 2.一个是接入层spring mvc,将json字符串参数转换为javaBean.通过@RequestBody javaBean方式 3.另一个是,mybatis中javeBean对象与数据库字段值之间的转换. 在sql语句的insert/update/delete语句传入javaBean对象,用#{}转换为具体的属性 在sql语句的select中,将数据库中的字段转换为javaBean的属性值. 4.只要发生javaBean的

对比两个实体类属性值的差异

/// <summary> /// 对比两个实体类属性值的差异 /// </summary> /// <typeparam name="T">实体类</typeparam> /// <param name="oldMod">原实体类</param> /// <param name="newMod">新实体类</param> /// <return

快速遍历对比两个文件下的md5值

[[email protected] Activity]# find /opt/xyrpg/rpgserver_s1/XMLData/Activity/ -type f -exec md5sum {} \;|sed 's/rpgserver_s1/rpgserver_s2/'|md5sum -c /opt/xyrpg/rpgserver_s2/XMLData/Activity/ActivityCondition.xml: FAILED /opt/xyrpg/rpgserver_s2/XMLDat

使用Java对两个对象的属性进行拷贝

最近和Java的反射打交道比较多一点,可能是因为自己以后的方向是架构师的缘故吧,他们主要搞业务.我能也就搞架构,整天画一些流程图. 虽然对于只有一年实习经验的我,不知道这样是否好,但是我还是那句话,不论好坏,先走着,毕竟也能学到很多东西,而且还可以锻炼自己的思维能力. 表达能力,因为自己的产品做的再好,你就是表达不出来,说不出来优势,那么你就败了. 先创建一个实体类User package com.mine.practice.copyproperty.entity; /** * * @autho

js中遍历对象的属性和值

今天想看一下js的数组遍历的内容,搜索到了一个关于对象遍历写好的函数,保留一下.以后好用. function allPrpos ( obj ) {   // 用来保存所有的属性名称和值   var props = "" ;   // 开始遍历   for ( var p in obj ){ // 方法   if ( typeof ( obj [ p ]) == " function " ){ obj [ p ]() ;   } else { // p 为属性名称,o

关于Jquery获取对象的属性与值

1.获取对象的常用方法 $("*")  表示获取所有对象(一般都不会去使用) $("#XXX") '获得 id=XXX 的元素对象(常用) $(".XXX") '获得 class=XXX 的元素对象(常用) $("div") ' 标签选择器 选择所有的div元素  (常用) $("input[name='uname']")   获得input标签中name='uname'的元素对象(常用) 如: self.

C#通过反射实现两个对象相同属性值的复制

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Security.Permissions; 5 using System.Data; 6 using MySql.Data; 7 using System.Configuration; 8 using System.IO; 9 using System.Text; 10 using System.Reflection; 1

浅析对象访问属性的&quot;.&quot;和&quot;[]&quot;方法区别

在JavaScript中通常使用”."运算符来存取对象的属性的值.或者使用[]作为一个关联数组来存取对象的属性.但是这两种方式有什么区别了? 例如,读取object中的property属性值:  object.property object['property'] 以上两种方式都可以实现属性的存取. 1.语法方面的区别 点表示法的对象的属性名是标识符,而后者的属性名则是一个字符串. 2.灵活性方面的区别 在JavaScript编写程序中,可以为对象创建任意数目的属性.但使用”.“运算符来存取一个