"Array de-weight" This article summarizes 5 ways:
Method One: The Sort method var ary = [1, 4, 2, 3, 1, 2, 2, 3, 3, 2, 5, 2, 1, 2];
Array.prototype.rmSame = function () {
var ary = This.sort (function (A, b) {
Return A-B
});
for (var i = 0; i < ary.length; i++) {
if (ary[i] = = = Ary[i + 1]) {
Ary.splice (i, 1);
i--;
}
}
return ary;
};
Console.log (Ary.rmsame ());
Method two, double-loop comparison
var ary1 = [1, 4, 2, 3, 1, 2, 2, 3, 3, 2, 5, 2, 1, 2];
Array.prototype.rMsame = function () {
for (Var i=0;i<this.length;i++) {
var olis=this[i];
for (Var j=i+1;j<this.length;j++) {
if (Olis===this[j]) {
This.splice (j,1);
j--;
}
}
}
return this;
};console.log (Ary1.rmsame ());
//Method Three: Key value pairvar ary = [1, 2, 1, 2, 1, 2, 1, 4, 5, 63, 2, 5, 432, 24]; Array.prototype.rmSome = function () {
var obj={};
for (Var i=0;i<this.length;i++) {
var cur=this[i];
if (obj[cur]==cur) {
THIS[I]=THIS[THIS.LENGTH-1];
this.length--;
i--;
Continue
}
Obj[cur]=cur;
}
return this;
};console.log (Ary.rmsome ());//method four new array var ary1=[];
for (var i=0; i<ary.length; i++) {
/!*if (Ary1.indexof (Ary[i]) ==-1) {
Ary1.push (Ary[i]);
}else{
Ary.splice (i,1);
i--;
}*!/
if (Ary1.indexof (Ary[i]) ==-1) {
Ary1.push (Ary[i]);
}}//method Five can record an array of objects to heavy var obj={};
for (var i=0; i<ary.length; i++) {
var cur=ary[i];
if (Obj[cur]) {
obj[cur]++;
}else{
Obj[cur]=1;
}
}
var ary=[];
for (var attr in obj) {
Ary.push (attr);
}
&&&& Array de-weight method summary &&&&&