js 数组去重复的方法
数组去重复是js中常用的方法,归纳了四种如下:
1. for + indexOf 去重复
- 1 var arr = [3,5,5,4,1,1,2,3,7,2,5];
- 2 var target = [];
- 3 for(var i=0,len=arr.length;i<len;i++){
- 4 if( target.indexOf(arr[i])==-1 ){
- 5 target.push(arr[i]);
- 6 }
- 7 };
- 8 console.log(target);
2. forEach + indexOf 去重复
- 1 var arr = [3,5,5,4,1,1,2,3,7,2,5];
- 2 var target = [];
- 3 arr.forEach(function(val){
- 4 if(this.indexOf(val)==-1){
- 5 this.push(val);
- 6 };
- 7 },target);
- 8 console.log(target);
3.原型对象 prototype + for + indexOf 去重复
- 1 Array.prototype.quchong = function(){
- 2 var target = [] ;
- 3 for(var i=0,len=this.length;i<len;i++){
- 4 if(target.indexOf(this[i])==-1){
- 5 target.push(this[i]);
- 6 }
- 7 };
- 8 return target;
- 9 };
- 10 var arr = [3,5,5,4,1,1,2,3,7,2,5];
- 11 console.log(arr.quchong());
4.原型对象 prototype + forEach + indexOf 去重复
- 1 Array.prototype.quchong = function(){
- 2 var target = [];
- 3 this.forEach(function(val){
- 4 if(this.indexOf(val)==-1){
- 5 this.push(val);
- 6 }
- 7 },target);
- 8 return target;
- 9 };
- 10 var arr = [3,5,5,4,1,1,2,3,7,2,5];
- 11 console.log(arr.quchong());
运行结果: