判断两个数组里对象是否相同_liangg数组对象校验是否重复_wind~lala的博客-程序员秘密

技术标签: js  javascript  

需求:想要实现判断以下两个数组是否相同,进行想要实现的操作

var data1 = [
        {id:1,Name:'11'},
        {id:2,Name:'22'},
        {id:3,Name:'33'},
        {id:4,Name:'44'}
    ]

    var data2 = [
        {id:1,Name:'11'},
        {id:2,Name:'22'},
        {id:3,Name:'33'},
        {id:4,Name:'44zz'}
    ]

实现方法一

//仅判断数组里的id是否相同时

    var flag = true;
    for(var i =0;i<data1.length;i++){
        if(data1[i].id === data2[i].id){
        }else{
            flag = false;
        }
    }

    if(flag == false){
        console.log('false')
    }else{
        console.log('true')
    }

实现方法二:

//判断两个数组里的每个属性都想同
var flag = true;
    for(var i in data1){
        for(var a in data1[i]){
            if(data1[i][a] == data2[i][a]){//判断数组中的每个属性
            }else{
                flag = false;//如果有一个不同就会等于false
            }
        }
    }

    if(flag == false){//如果等于false进行的操作
        console.log('false')
    }else{//如果等于false(也就是全部等于true的时候)进行的操作
        console.log('true')
    }
var data1 = ['11','22','33']

    var data2 = [
        {id:1,Name:'11'},
        {id:2,Name:'22'},
        {id:3,Name:'33'},
        {id:4,Name:'44zz'}
    ]

需求:实现两个数组的对比,如果data2是否有data1的Name值,如果不存在则返回,将不存在的值push到新的数组里

var data = [];
data2.forEach(function (item) {
      var ass = data1 .indexOf(item.Name);//用index判断如果存在则返回1,如果不存在则返回-1
      if (ass < 0) {
          data .push(item);
      }
  });
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42768220/article/details/108660195

智能推荐

Python 提取新浪公共微博中转载次数最多的微博转载数,用户名,内容_guaguastd的博客-程序员秘密

Python 提取新浪公共微博中转载次数最多的微博转载数,用户名,内容

美亚 kindle 排名第一的 Python3 入门书,火遍了整个编程圈_csdn人工智能头条的博客-程序员秘密

不要错过文末留言活动“大多数优秀的程序员从事编程工作,不是因为期望获得报酬或得到公众的称赞,而是因为编程是件有趣的事儿。”——林纳斯·托瓦兹(Linus Torvalds...

登入注册相关功能的实现与数据的展示_JAVA成神的博客-程序员秘密

一、登入和注册功能的实现1)登入和注册对应的用户类public class User { private Integer id; private String username; private String password; private String email; public User() { } public User(Integer id, String username, String password, Strin

oracle与mysql结构区别_oracle与mysql的区别_东山白云意的博客-程序员秘密

1、列类型区别oracle:可变长度varchar2、浮点型number,小数浮点型number(m,n),可变二进制数据raw,大对象类型(存储无结构数据,最大4G)lobmysql:可变长度varchar、浮点型float、double、小数decimal(m,n),可变二进制数据blob2、约束(NOT NULL 非空约束、UNIQUE 唯一约束、PRIMARY KEY 主键约束 ,FORE...

Linux嵌入式系统与硬件平台的关系_linux硬件平台_zzxyd_qiao的博客-程序员秘密

一、 Linux嵌入式系统操作系统是一种在计算机上运行的软件,它的主要任务是管理计算机上的系统资源,为用户提供使用计算机及其外部设备的接口。它存在的目的是为了管理所有硬件资源,并且提供应用软件一个合适的操作环境。嵌入式系统由于硬件的先天限制,经常只具有极稀少的硬件资源,如 时脉较少的 CPU、较少的内存、常不具有磁盘而用小容量的DiskOnChip或DiskOnModule。而在使用电池的系统中,它还要实现节省电池消耗,延长电池使用时间的功能。 Linux 作为嵌入式操作系统是完全可行的,因为Li..

iOS TextField 的用法_whh_ok的博客-程序员秘密

//初始化textfield并设置位置及大小  UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //设置边框样式,只有设置了才会显示边框样式    text.borderStyle = UITextBorderStyleRoundedRect;

随便推点

excel函数 OFFSET 、 ADDRESS 、 INDIRECT _offset和address函数怎样搭配_gzzwind的博客-程序员秘密

 OFFSET 全部显示全部隐藏<br />以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。<br />语法<br />OFFSET(reference,rows,cols,height,width)<br />Reference     作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值 #VALUE!。<br />Rows     相对于偏移量参照系的左上角单元格

HDOJ 2544 最短路 (最短路 Dijkstra && SPFA && Floyd)_Paul-Yang的博客-程序员秘密

HDOJ 2544 最短路 (最短路 Dijkstra SPFA Floyd ) 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt。但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找最短的从商店到赛场的路线,你可以帮助他们吗?

利用标准库排序的几种方法_ggggqqqqihc的博客-程序员秘密

这个题目有点儿无聊,跟茴香豆的“茴”字有几种写法一样无聊,又是一个无聊的老掉牙的话题——排序,问题依然是无聊至极——把输入的单词按顺序(我可没说是什么顺序)排列。当作是一个总结吧。按词典排好说,如果你用vector words存储单词,只需用algorithm里的sort即可:sort(words.begin(),words.end())。这玩意儿我闭着眼也能敲出来。但假如你用list的话……

POJ-1002-487-3279-解题报告_haozlee的博客-程序员秘密

很久之前就做过这道题了,只是当时一直TLE。其实当时也能得到正确答案,不过由于用了STL map这些东西,可能效率比较低导致TLE。今天彻底用C做出来了。#include #include #include const int MAX_CASE_SIZE = 100003;const int MAX_STD_PHONE_SIZE = 10;char phone[128]; //接

us news计算机科学排名,2019US News世界大学计算机科学专业排名TOP50_Steven Ban的博客-程序员秘密

2019US News世界大学计算机科学专业排名TOP502020-04-06计算机科学,研究计算机及其周围各种现象和规律的科学,亦即研究计算机系统结构、程序系统(即软件)、人工智能以及计算本身的性质和问题的学科。和看看2019US News世界大学计算机科学专业排名TOP50。2019USNews世界大学计算机科学专业排名排名大学名称1TsinghuaUniversity2德克萨斯大学奥斯汀...

Linux系统下搭建java开发环境_linux 开发java_richest_qi的博客-程序员秘密

文章目录安装jdk8安装maven安装idea参考文章不论在windows系统下,还是在linux系统下,搭建java开发环境的过程基本都是一样的,都要下载、安装jdk,配置环境变量:JAVA_HOME、CLASSPATH、path下载、安装maven,配置环境变量:MAVEN_HOME、path下载、安装ideawindows系统下安装java开发环境,可以参考这篇文章。本篇文章主要介绍一下linux系统(centos8)下如何搭建java开发环境。小提示:笔者是以root用户身份在li

推荐文章

热门文章

相关标签