数组去重:
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);*/
网友评论