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)
相关推荐
xm_xm_xm_118 小时前
TypeScript 7 个 核心特性
前端·typescript
mONESY18 小时前
手把手从零复刻「英文网页 AI 翻译」Chrome 插件(新手向)
javascript
pppiii18 小时前
前端并发请求控制:5 种实现方案完整梳理
前端
郑州光合科技余经理18 小时前
本地生活平台搭建:统一订单表与多后台切换怎么拆
java·开发语言·前端·系统架构·uni-app·php·ai编程
天下无敌笨笨熊18 小时前
C#视频开发心得
开发语言·c#·音视频
淼澄研学19 小时前
基于Docker与iptables的AI智能体网络隔离实操指南
开发语言·python
iFlyCai19 小时前
深入理解Flutter:StatefulWidget生命周期全解析(四)
前端·javascript·flutter
莫陌尛.19 小时前
Java核心知识点:直接内存、CPU密集型线程池、并行流对比文档
java·开发语言
西峰u19 小时前
Java多线程初阶完整总结|线程、锁、volatile、等待通知、常见案例
java·开发语言·jvm
xm_xm_xm_119 小时前
Vue 3 项目开发常用操作详细汇总
前端·vue.js