数组的集合运算
给定两个数组,比如a=[1,2,3,4,5],b=[3,5,6,7,8]求a与b的并集[1,2,3,4,5,6,7,8]
求a与b的交集[3,5]
求差集a-b=[1,2,4],b-a=[6,7,8]
set={ uniq:function(s){//去重 var r=[]; for(var i=0;i<s.length;i++){ if(s.indexOf(s[i])==i) r.push(s[i]); }; return r; }, d:function(s1,s2){//差集 var b=this.uniq(s1); var a=this.uniq(s2); return b.filter(v => !a.includes(v)); }, u:function(s1,s2){//并集 var b=this.uniq(s1); var a=this.uniq(s2); return this.uniq(a.concat(b)); }, n:function(s1,s2){//交集 var b=this.uniq(s1); var a=this.uniq(s2); return b.filter(v => a.includes(v)); }, in:function(s1,s2){//是否是子集 var b=this.uniq(s1); var a=this.uniq(s2); var c=this.n(b,a); return b.length==c.length; } };