JS数组去重(4种方法)

时间:2017-03-27    点击:256   

第一种:双重循环

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

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

Javascript面试经典套路reduce函数查重
Vue 过渡实现轮播图效果
详解VUE的状态控制与延时加载刷新
js实现三级联动效果(简单易懂)
nodejs学习笔记之路由
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved