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)
相关推荐
夏幻灵3 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
Lvan的前端笔记3 小时前
docker:每个前端项目一个 Nginx 容器还是只有一个Nginx容器
前端·nginx·docker
程序猿编码3 小时前
榨干 RTX5090 算力!Qwen3 专用单卡推理引擎,手写C++/CUDA 算子实现 MTP 推测解码
开发语言·c++·大模型推理·qwen3·多模态推理
三天不学习3 小时前
Egg.js 4 突然爆火,原因是否归结于AI 原生落地需求爆发?
前端·javascript·全栈·egg.js
xcs194054 小时前
前端 vue 的前端页面debugger 进不去
前端·javascript·vue.js
bkspiderx4 小时前
Qt 插件机制:动态扩展应用功能的核心框架
开发语言·qt·元数据·qt 插件·qpluginloader
程序员老陆4 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
沐晓时光5 小时前
C语言入门,深入理解指针(3)
c语言·开发语言
明月_清风5 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
码云数智-园园5 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言