首页 > 代码库 > JS — 数组去重(4种方法)

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

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