js扩展数组去重方法

1.第一种,本人首先想到的就是用另一个数组装,装进一个之后与原数组中的元素一个一个去比

Array.prototype.set = function(){
    var array=[this[0]];
    for(var i=1;i<this.length;i++){
        for(var j=0;j<array.length;j++)
        if(this[i]==array[j]) //将this[i]中的值与array数组的值进行比较,若相等,则break;
            break;
    if(j==array.length)      //只有当this[i]的值与array中的元素全都不相等时,将其push到array数组
      array.push(this[i]);
    }   
    return array;
};

var arr=[1,2,3,4,3,4,2,5,5];
console.log(arr.set());       //[1,2,3,4,5]

2.第二种,用splice方法

Array.prototype.set=function(){
    for(var i=0;i<this.length;i++)
        for(var j=i+1;j<this.length;j++)
            if(this[i]==this[j])  //将this[i]的值与其之后的值一一进行比较,若相等,则删除
                this.splice(j,1);
    return this;
}
var arr=[1,2,3,4,3,4,2,5,5];
console.log(arr.set());       //[1,2,3,4,5]

3.第三种方法,用indexOf方法,将原数组的元素放入新数组,若新数组中查询到的原数组中元素的下标为-1,则放入新数组。

Array.prototype.set=function(){
    var res=[];
    for(var i=0;i<this.length;i++){
        var index=res.indexOf(this[i]);
        if(index==-1)   //判断新数组是否存在与this[i]相同的数
        res.push(this[i]);}
    return res;
}
var arr=[1,2,3,4,3,4,2,5,5];
console.log(arr.set());       //[1,2,3,4,5]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值