码迷,mamicode.com
首页 > 编程语言 > 详细

js数组去重

时间:2018-03-01 00:30:54      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:分享   ret   array   nbsp   post   ==   js数组   color   length   

1 answer=collection=>{
2     let res = collection.filter((element,index,self)=>{return self.indexOf(element)===index});
3     return res;
4 }
5 console.log(answer([1,1,NaN,NaN]))

结果为:技术分享图片

方法二:

1 answer = collection =>{
2     let res = [];
3     for(let i = 0;i<collection.length;i++){
4         if(collection.indexOf(collection[i])===i){res.push(collection[i])}
5     }
6     return res;
7 }
8 console.log(answer([1,1,NaN,NaN]))

结果:同上

方法三:

 1 answer = collection=>{
 2     for(let i =0;i<collection.length-1;i++){
 3         for(let j =i+1;j<collection.length;j++){
 4             if(collection[i]==collection[j]){
 5                 collection.splice(j,1);
 6                 j--;
 7             }
 8         }
 9     }
10     return collection;
11 }
12  console.log(answer([1,1,NaN,NaN]))

结果:技术分享图片

方法四:

1 answer = collection=>{
2     return Array.from(new Set(collection))
3 }
4 console.log(answer([1,1,NaN,NaN]))

结果为:技术分享图片

方法五:

1 answer = collection=>{
2     const res = new Map();
3     return collection.filter((a)=>!res.has(a)&&res.set(a,1))
4 }
5 console.log(answer([1,1,NaN,NaN]))

结果:同方法四

 写在最后:虽然都是数组去重,但是由于方法不一样,在处理特殊数据时结果也不一样,在处理普通数据(数字,字符串)结果是一样的

js数组去重

标签:分享   ret   array   nbsp   post   ==   js数组   color   length   

原文地址:https://www.cnblogs.com/gaoxuerong123/p/8486256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!