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

数组去重的5个方法

时间:2020-10-10 16:44:43      阅读:23      评论:0      收藏:0      [点我收藏+]

标签:集合   bsp   存储   没有   const   turn   双层   for循环   ons   

1, set类型去重
      
      SET 数据类型是 ES6 新增的语法形式  集合类型
                是一个类似于数组的数据类型
                特点:不会存储重复数据
                const arr = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
                const newArr = [...new Set(arr)];
 
 2, obj对象类型,键名不能重复
 
                const arr = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
                const obj = {};
                const newArr = [];
                arr.forEach((v)=>{
                    obj[v] = ‘随便写‘;
                })
                for(let k in obj){
                    newArr.push(k)
                }
 
 
3, 数组排序
 
                从第一个单元开始,与之后的单元比较,两两相邻比较,
                如果数据相同,就删除后一个单元
                i-- 防止数组坍塌的影响
 
                const arr = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
                arr.sort((a,b)=>{return a-b});
                for(let i = 0 ; i <= arr.length-1 ; i++){
                    if(arr[i] === arr[i+1]){
                        arr.splice(i,1);
                        i--;
                    }
                }
 
 
4, 双层for循环
 
                从第一个单元开始,之后的所有单元比较
                如果后面的数值相同,就删除之后的单元
                内层循环变量-- 防止数组坍塌的影响
 
                const arr = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
                for(let i = 0 ; i <= arr.length-1 ; i++){
                    for(let j = i+1 ; j <= arr.length-1 ; j++){
                        if(arr[i] === arr[j] ){
                            arr.splice(j,1);
                            j--;
                        }
                    }
                }
 
 
5, indexOf 新数组中没有的数值,再新增
       
               const arr = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
               const newArr = [];
               arr.forEach((v)=>{
                    if( newArr.indexOf(v) === -1 ){
                        newArr.push(v)
                    }
               })

数组去重的5个方法

标签:集合   bsp   存储   没有   const   turn   双层   for循环   ons   

原文地址:https://www.cnblogs.com/DaZheZi/p/13787782.html

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