javascript如何实现删除数组里面的重复元素

第一种方法:

首先是遍历数组每个元素,比如先遍历第一个元素,然后和后面的元素进行比较,后面元素有相同的就把后面相同的元素删除,以此类推,实现删除相同元素的目的

javascript 复制代码
let nums1 =[2,12,4,2,12,56,4,200,4,12,8,23]

    for(let i=0;i<nums1.length;i++)
    {
        for(let j=i+1;j<nums1.length;j++)
        {
            if(nums1[i]==nums1[j])
            {
                nums1.splice(j,1)
                j--
            }
        }
    }
    console.log(nums1)

这种方法效率比较低,算法复杂度是O(n^2)

第二种方法

首先定义一个空数组n2

接着遍历数组,并且与数组n2里的元素进行比较,如果有不一致的就加入到n2数组里面,有一致的不加入

javascript 复制代码
nums1 =[2,12,4,2,12,56,4,200,4,12,8,23]
    nums2=[]
    for(let num of nums1)
    {
        
        if(nums2.indexOf(num)===-1)
        {
            nums2.push(num)
        }
    }
    console.log(nums2)
相关推荐
郝学胜-神的一滴4 分钟前
Socket实战:从单端聊天到多用户连接的实现秘籍
服务器·开发语言·python·网络协议·pycharm
小超超爱学习993710 分钟前
大数乘法,超级简单模板
开发语言·c++·算法
java1234_小锋15 分钟前
Java高频面试题:MyBatis如何实现动态数据源切换?
java·开发语言·mybatis
Embrace92417 分钟前
React Native + Realm 离线方案处理
javascript·react native·react.js·realm
knighthood200119 分钟前
Qt5.15+VTK9.3.0实现点云点选功能
开发语言·qt
墨神谕23 分钟前
Java中,为什么要将.java文件编译成,class文件,而不是直接将.java编译成机器码
java·开发语言
chenyingjian28 分钟前
鸿蒙|能力特性-统一文件预览
前端·harmonyos
毛骗导演28 分钟前
OpenClaw 沙箱执行系统深度解析:一条 exec 命令背后的安全长城
前端·架构
天才聪34 分钟前
鸿蒙开发vs前端开发1-父子组件传值
前端
卡尔特斯36 分钟前
Android Studio 代理配置指南
android·前端·android studio