//数组判断是否含有某个元素
Array.prototype.contains = function (obj) {
var i = this.length;
while (i--) {
if (this[i] === obj) {
return true;
}
}
return false;
}
//数组去重
Array.prototype.uniquelize = function() {
var ra = new Array();
for(var i = 0; i < this.length; i ++){
if(!ra.contains(this[i])){
ra.push(this[i]);
}
}
return ra;
};
//交集
Array.prototype.jiaoji = function(obj) {
return this.uniquelize().filter(function(o){
return obj.contains(o) ? o : null;
});
};
//差集
Array.prototype.minus = function(obj){
return this.uniquelize().filter(function(o){
return obj.contains(o) ? null : o
});
};
//并集
Array.prototype.bingji = function(obj) {
return this.concat(obj).uniquelize();
};
let arr1=new Array();
let arr2=new Array();
arr1=[1,2,2,3,3,4,4,5,6,7,8,9];
arr2=[1,3,5,7,9];
document.write('数组1---->'+arr1+'
数组2---->'+arr2);
document.write('
');
document.write('交集是:'+arr1.jiaoji(arr2));
document.write('
');
document.write('差集是:'+arr1.minus(arr2));
document.write('
');
document.write('并集是:'+arr1.bingji(arr2));
document.write('
');
临时写,有问题可以交流,对于 其他的 余集 补集 合集 懒得区分了 上面三种挺常用的,仅供参考。
之前都没有注意到includes这个方法,参考 https://developer.mozilla.org... ,可以直接实现判断当前数组是否包含某指定的值。 其实我觉得我写的contains 相当于 includes函数 ,会后我再看看