JS比较数组差异

分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

               

使用JS简单的比较2个数组的差异,即arr1比arr2多的部分和arr2比arr1多的部分,有利于我们实现数据的动态增加与删除。

(这里用比较简单的,默认2个数组中没有重复数据,因为项目中是比较guid,所以唯一)

大概思路就是,首先将这2个数组分别排一下序,然后进行比较,剔除两个数组中共同拥有的数据(只留一个),组成一个数组,然后用这个数组再和两个组数进行比较;

<html><head><meta http-equiv="Content-Type" content="text/html" /><title>lzj</title></head><script src="jquery.js" language="JavaScript"></script><script language='javascript' type='text/javascript'>var arr1 = ["899SSDJH-HJHJH88787278","12121DD11-HJHJS8878","088","444"];var arr2=["899SSDJH","566","898"];var addstr=compare(arr1,arr2,1);//flag传1即arr1比arr2多的部分,0反之console.log(addstr);function compare(a1,b1,flag){ var a=d=a1; var b=e=b1; var c=[]; var addstr=[]; var dels=[]; a.sort(); b.sort(); var i=0; var j=0; while(i<a.length&&j<b.length){  if(a[i]<b[j]){   c.push(a[i]);   i++;  }else if(b[j]<a[i]){   c.push(b[j]);   j++;  }else{   i++;   j++;  } } while(i<a.length){  c.push(a[i]);  i++; } while(j<b.length){  c.push(b[j]);  j++; } if(!flag){ for(var i=0;i<c.length;i++){  for(var j=0;j<e.length;j++){  if(e[j]==c[i]){   addstr.push(e[j]);   }  } } return addstr; } else{ for (var i = 0; i < c.length; i++) {            for (var j = 0; j < d.length; j++) {                if (d[j] == c[i]) {                    dels.push(d[j]);                }            }        }   return dels; }}  </script><body></body></html>


           

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
这里写图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值