您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax | jQuery | 小程序 |

JavaScript数组去重的几种方法详谈

51自学网 2022-02-21 13:39:10
  javascript

一、Set去重

 function funSet(arr){   return Array.from(new Set(arr)); }

二、双重for循环去重

function funFor(arr){  for(let i=0,len=arr.length;i<len;i++){    for(let j=i+1,len=arr.length;j<len;j++){      if(arr[i]===arr[j]){        arr.splice(j,1);        len--;        j--;      }    }  }  return arr;}

三、利用indexOf去重

function funIndex(arr){  let newArr=[];  for(let i=0;i<arr.length;i++){    if(newArr.indexOf(arr[i])===-1){      newArr.push(arr[i])    }  }  return newArr;}

四、利用icludes去重

function funInclude(arr){  let newArr=[];  for(let i=0;i<arr.length;i++){    if(!newArr.includes(arr[i])){      newArr.push(arr[i])    }  }  return newArr;}

五、filter

function funFilter(arr){  return arr.filter(function(item,index){    return arr.indexOf(item,0)===index;  })}

六、Map

function funMap(arr){  let map=new Map();  let newArr=[];  for(let i=0,len=arr.length;i<len;i++){    if(map.has(arr[i])){      map.set(arr[i],true);    }else{      map.set(arr[i],false);      newArr.push(arr[i]);    }  }  return newArr;}

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注51zixue.net的更多内容!


下载地址:
Vue生命周期介绍和钩子函数详解
vue大屏展示适配的方法
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。