美文网首页
JS简单的算法题之数组去重,帮你解决遇到的困难

JS简单的算法题之数组去重,帮你解决遇到的困难

作者: 羞羞的王大锤 | 来源:发表于2020-04-18 23:53 被阅读0次

我们在平时开发的过程中,经常会遇到数组去重的问题,今天我们就来聊聊数组如何实现去重

const arr = [1,2,3,4,5,6,3,2,3,4,2]

比如上面这样的数组,我们来去重

常用方法-双循环去重

思路:遍历数组,将第一个数与后面的数字依次作比较,如果相同则删除,如果不同则继续,以此类对遍历完这个数组后,就可以实现去重的效果

function unique(arr){
    // 深拷贝
    const data = JSON.parse(JSON.stringify(arr))
    // 遍历
    for (let i = 0; i < data.length; i++) {
        for (let j = i+1; j < data.length; j++) {
            // 判断是否重复,如果是则删除,并保持下标不变
            if (data[i] === data[j]) {
                data.splice(j,1)
                j--;
            }
        }     
    }
    return data
}
const uniqueArr = unique(arr)
console.log(arr,uniqueArr) //[1,2,3,4,5,6,3,2,3,4,2],[1,2,3,4,5,6]

Set方法

那es6中定义了一种全新的数据类型,使用它可以方便你的实现数据的去重,一行代码便可以实现

const uniqueArr = [...new Set(arr)]
uniqueArr  // [1,2,3,4,5,6]

indexOf方法

function unique(arr) {
    const data = []
    for (let i = 0; i < arr.length; i++) {
        if (data.indexOf(arr[i]) === -1) {
            data.push(arr[i])
        }
    }
    return data
const uniqueArr = unique(arr)
uniqueArr  // [1,2,3,4,5,6]

抛转引入,如果你有更好的方法,果断分享在留言里哦~

最后 🙌

好啦,以上就是我本次分享的全部内容啦,如果你觉得我的文章对你有一丢丢帮助,那么请不要吝啬你的赞👍哦,阿门~

相关文章

  • JS简单的算法题之数组去重,帮你解决遇到的困难

    我们在平时开发的过程中,经常会遇到数组去重的问题,今天我们就来聊聊数组如何实现去重 比如上面这样的数组,我们来去重...

  • js-经常遇到的算法题

    最近在面试中遇到几个js算法题,感觉挺有借鉴意义,整理一下。 1. 数组去重比如输入: [1,2,3,4,2,3,...

  • js数组分组和去重

    分组 去重 笔试中经常出现的js数组排序与去重算法

  • 常用数组算法

    Array是js里的内置对象,也是我们最常用的一种,在这里我们整理一下常见的简单算法 1.数组去重 数组去重是面试...

  • JS数组去重常见方法分析

    数组去重是开发中经常会遇到的问题,也是面试时经常会考到的。JS实现数组去重可以有多种方法: 一、简单的去重方法 用...

  • 前端算法题收集

    数组去重和排序的多种实现算法 数组扁平化的N种实现方案 阿里面试题之斐波那契数列 字节跳动经典算法题

  • JS算法——数组去重

    一:双层循环 使用循环嵌套,最外层循环 array,里面循环 res,如果 array[i] 的值跟 res[j]...

  • JS数组去重算法实现

    如:魅族笔试题 本文就 js 如何实现数组去重整理出5种方法,并附上演示Demo 以及 源码。 1.遍历数组法 最...

  • js数组去重算法总结

    一、去重 我在前端面试过程中遇到去重算法的概率为百分之九十,这里就总结下各种去重算法及其复杂度 1. new Se...

  • 数组的去重和数组中对象的去重

    数组中对象去重 方式1 jq方式 方式2 原生js方式 普通数组的去重 方式1 普通的数组去重js 方式2 Se...

网友评论

      本文标题:JS简单的算法题之数组去重,帮你解决遇到的困难

      本文链接:https://www.haomeiwen.com/subject/euazvhtx.html