这次考虑了单个数组里面有重复元素的情况。
先定义数组去重方法。
然后在求并集和交集的过程中调用去重即可。
<script>
//去重
function duplicateRemoval(arr) {
var newArr = [];
for (var m = 0; m < arr.length; m++) {
var flag = true;
for (var n = 0; n < newArr.length; n++) {
if (arr[m] == newArr[n]) {
flag = false;
break;
}
}
if (flag == true) {
newArr[newArr.length] = arr[m];
}
}
return newArr;
}
//声明交集函数
function getMix(arr1, arr2) {
var arrMix = [];
for (var i = 0; i < arr1.length; i++) {
for (var j = 0; j < arr2.length; j++) {
if (arr1[i] == arr2[j]) {
arrMix[arrMix.length] = arr1[i];
}
}
}
arrMix = duplicateRemoval(arrMix);
return (arrMix);
}
//声明并集函数
function getBin(arr1, arr2) {
var arrBing = arr1;
for (var i = 0; i < arr2.length; i++) {
arrBing[arrBing.length] = arr2[i];
}
arrBing = duplicateRemoval(arrBing);
return arrBing;
}
//调用交集函数
var arrMix = getMix([6, 34, 7, 7, 10], [34, 5, 10, 10, 16, 77]);
console.log(arrMix);
//调用并集函数
var arrBing = getBin([6, 34, 7, 7, 10], [34, 5, 10, 10, 16, 77]);
console.log(arrBing);
</script>