JS数组去重(4种方法)

第一种:双重循环

var ary=[1,2,3,3,2,3,4,5];
for(var i=0;i<ary.length;i++){
  for(var j=i+1;j<ary.length;j++){
    if(ary[i]===ary[j]){
      ary.splice(i,1);
      i--;
    }
  }
}
alert(ary);

第二种:新数组 

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

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持呐喊教程!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。