数组去重的几种方式

1、利用 Map 数据结构去重

1 let arr = [1,2,3,4,3,2,3,4,6,7,6];
2      let unique = (arr)=> {
3         let seen = new Map();
4          return arr.filter((item) => {
5             return !seen.has(item) && seen.set(item,1); 
6         });
7      };
8  unique(arr);                                       

2、利用 for 嵌套 for,然后 splice 去重

复制代码
 1 functionunique(arr){
 2     for(vari=0; i<arr.length; i++){
 3         for(var j=i+1; j<arr.length; j++){
 4             if(arr[i]==arr[j]) {
 5 //第一个等同于第二个,splice 方法删除第二个
 6     arr.splice(j,1); j--;
 7              }
 8         }
 9     }
10     return arr;
11  }
12                         
复制代码

3、for 双重循环 通过判断第二层循环,去重的数组中是否含有该元素,如果有就退出第二 层 循环,如果没有j==result.length 就相等,然后把对应的元素添加到最后的数组里面。

复制代码
 1 let arr = [1,2,3,4,3,2,3,4,6,7,6];
 2 let result = [];
 3   for(var i = 0 ; i < arr.length; i++) {
 4       for(var j = 0 ; j < result.length ; j++) {
 5                if(arr[i] === result[j]){
 6      break;
 7 
 8      };
 9  };
10         if(j == result.length){
11 result.push(arr[i]);  
12 };
13 };
14     console.log(result);   
复制代码

4、利用 filter

let arr = [1,2,3,4,3,2,3,4,6,7,6]; 
    let unique = (arr) => {
        return arr.filter((item,index) => {
    return arr.indexOf(item) === index; })
}; 
    unique(arr);

 

posted @   荣姐  阅读(199)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示