(每天一句js)两个array的交集、并集、差集
不说话。直接上代码:
function qc(a) { // 去重
var r = [];
for(var i = 0; i < a.length; i ++) {
var flag = true;
var temp = a[i];
for(var j = 0; j < r.length; j ++) {
if(temp === r[j]) {
flag = false;
break;
}
}
if(flag) {
r.push(temp);
}
}
return r;
}
function jj(a, b) { // 交集
var result = [];
for(var i = 0; i < b.length; i ++) {
var temp = b[i];
for(var j = 0; j < a.length; j ++) {
if(temp === a[j]) {
result.push(temp);
break;
}
}
}
return qc(result);
}
function bj(a, b) { // 并集
return qc(a.concat(b));
}
function cj(a, b) { // 差集
var clone = a.slice(0);
for(var i = 0; i < b.length; i ++) {
var temp = b[i];
for(var j = 0; j < clone.length; j ++) {
if(temp === clone[j]) {
clone.splice(j,1);
}
}
}
return qc(clone);
}
我在此郑重宣誓。我绝不干好事。

浙公网安备 33010602011771号