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());

运行结果:

 

转载于:https://www.cnblogs.com/huanying2015/p/8029034.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值