分享一下我老师大神的人工智能教程!零基础,通俗易懂!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>