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

第一种:双重循环

 

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 @ 2017-04-05 18:31  webnote  阅读(213)  评论(0编辑  收藏  举报