网络编程 
首页 > 网络编程 > 浏览文章

JS数组去重(4种方法)

(编辑:jimmy 日期: 2026/9/24 浏览:3 次 )

第一种:双重循环

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

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

上一篇:nodejs学习笔记之路由
下一篇:JS实现隔行换色的表格排序
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。