数组去重:

2017-06-14  本文已影响0人  web前端ling

数组去重:

1.思路1:双重循环

拿当前项跟他后面的每一项进行比较,如果相同,删除其中一个,一定要预防数组塌陷;

2.思路2:创建新数组

当新数组中没有重复的时候,才给新数组中放;

3.思路3:利用对象不重名的特性;

当对象中没有改属性的时候,赋值为1;

当对象中已经有的该属性的时候,进行累加;

注意:两个条件中直走一个:1)continue 2)if...else....

Title

varary1=[1,4,4,4,4,4,2,1,2,3,3,1,2,3];

Array.prototype.rmsame=function(){

//思路1:双重循环

for(vari=0;i

varcur=this[i];

for(varj=i+1;j

if(cur===this[j]){

this.splice(j,1);

j--;

}

}

}

return this;

};

ary1.rmsame();

console.log(ary1);

varres=ary1.rmsame().sort(function(a,b){returna-b}).pop().push(5);

console.log(ary1);

console.log(res);

/*Array.prototype.rmsame=function(){

var ary=[];

for(var i=0; i

if(ary.indexOf(this[i])===-1){

ary.push(this[i]);

}

}

return ary;

}*/

//思路3:利用对象不重名的特性;obj{1:1,2:1,3:1} obj[1]++;

/*var obj={};

for(var i=0; i

var cur=ary1[i];

/!*if(obj[cur]){

obj[cur]++;

continue;

}

obj[cur]=1;*!/

if(obj[cur]){

obj[cur]++;

}else{

obj[cur]=1;

}

}*/

/*var res=ary1.rmsame();

console.log(res);*/

上一篇下一篇

猜你喜欢

热点阅读