• JS — 数组去重(4种方法)

    2017-04-05 238阅读 0评论

    第一种:双重循环

     

    复制代码
    var strCode='zxcvbnmasdfghjklopiuytrewqAWEDRFTGYHUJIK';
    var str='';
    for(var i=0;i<4;i++){
        var rand=Math.round(Math.random()*61);
        if(str.indexOf(strCode.charAt(rand))==-1){
            str+=strCode.charAt(rand);
        }else{
            i--;
        }
    }
    console.log(str);
    复制代码

     

    第二种:新数组 

     

    复制代码
    var ary=[1,2,3,3,2,3,4,5];
    var ary1=[];
    for(var i=0;i<ary.length;i++){
        if(ary1.indexOf(ary[i])==-1){
            ary1.push(ary[i]);
        }
    }
    alert(ary1);
    复制代码

     

    第三种:可以记录次数的对象去重 

     

    复制代码
    var ary=[1,2,3,3,2,3,4,5];
            var obj={};
            for(var i=0;i<ary.length;i++){
                var cur=ary[i];
                if(obj[cur]){
                    obj[cur]++;
                }else{
                    obj[cur]=1;
                }
            }
            var ary=[];
            for(var attr in obj){
                ary.push(attr);
            }
            
            alert(ary);
    复制代码

     

    第四种:sort 思想 

     

    复制代码
    var ary=[1,2,3,3,2,3,4,5];
            ary.sort(function(a,b){return a-b;});
            for(var i=0;i<ary.length;i++){
                if(ary[i]===ary[i+1]){
                    ary.splice(i,1);
                    i--;
                }
            }
            alert(ary);
    复制代码

     原文链接:http://www.qdfuns.com/notes/42231/be94f6921a24f86bd3dcedbe93ab75ef.html

    posted @   webnote  阅读(238)  评论(0编辑  收藏  举报
    我要评论

    点击右上角即可分享
    微信分享提示