随笔 - 10  文章 - 0  评论 - 0  阅读 - 3751

数组去重的四种方式

第一种:利用内外双循环

依次从后向前遍历(内层循环),与从第一项开始的数组内容作比较(外层循环),相同删去内层循环控制的数组值

复制代码
 const arr=[1,2,3,2,2,3,2,3,4,4,1,5];
        // // 方法一:for循环去重
        for(let b=0;b<arr.length;b++){
            for(let a=arr.length-1;a>b;a--){
                if(arr[b]==arr[a]){
                    arr.splice(a,1);
                }
            }
        }
        console.log(arr);
复制代码

第二种:利用indexof和新数组的push方法

const arr=[1,2,3,2,2,3,2,3,4,4,1,5];
var newarr=[];
        for(let i=0;i<arr.length;i++){
            // 若是新数组里没有arr的数值,则把该值加进去
            if(newarr.indexOf(arr[i])==-1){
                newarr.push(arr[i]);
            }
        }

第三种:利用Set的唯一性

const arr=[1,2,3,2,2,3,2,3,4,4,1,5];
let set=new Set(arr);
// ...是一个将类数组结构拆分为以逗号相连的数据形式的方法
let newarr=[...set]
console.log(newarr);
方法四:利用对象属性的不可同名性
复制代码
const arr=[1,2,3,2,2,3,2,3,4,4,1,5]; 
let obj={};
        let newarr=[];
        for(let i=0;i<arr.length;i++){
            obj[arr[i]]="1";
        }
        for(let key in obj){
            newarr.push(Number(key));
        }
        console.log(newarr)
复制代码

 

posted on   爱敲代码的关耳  阅读(214)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示