//去重复
Array.prototype.unique = function()
{
this.sort();
var re=[this[0]];
for(var i = 1; i < this.length; i++)
{
if( this[i] !== re[re.length-1])
{
re.push(this[i]);
}
}
return re;
}
//并集
Array.prototype.union = function(a)
{
return this.concat(a).unique();
}
//差集
Array.prototype.minus = function(a)
{
var result =[];
var clone = this;
for(var i=0; i < clone.length; i++)
{
var flag = true;
for(var j=0; j < a.length; j++)
{
if(clone[i] == a[j])
flag = false;
}
if(flag)
result.push(clone[i]);
}
return result.unique();
}
// 交集
Array.prototype.intersect = function(b) {
var result = [];
var a = this;
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 result.unique();
}
原文地址:http://blog.csdn.net/xuyw10000/article/details/46463895