• 数组去重的方法(暂时了解的)


    1、利用ES6中set去重
    
    let arr=[1,1,2,3,4,4,5]
    arr=[...new Set(arr)]
    console.log(arr)
    
    2、利用两个for循环嵌套,然后splice去重(ES5中最常用)
    先定义一个包含原始数组第一个元素的数组,然后遍历原始数组,将原始数组中的每个元素与新数组中的每个元素进行比对,
    如果不重复则添加到新数组中,最后返回新数组;因为它的时间复杂度是O(n^2),如果数组长度很大,那么将会非常耗费内存
    
    
    
    3、利用indexOf去重1  数组内是否有该元素,有返回1,没有返回-1
    数组的indexOf()方法可返回某个指定的元素在数组中首次出现的位置。该方法首先定义一个空数组res,
    然后调用indexOf方法对原来的数组进行遍历判断,如果元素不在res中,则将其push进res中,
    最后将res返回即可获得去重的数组
    
    新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,如果有相同的值则跳过,不相同则push进数组。
    
    利用indexOf去重2
    利用indexOf检测元素在数组中第一次出现的位置是否和元素现在的位置相等,如果不等则说明该元素是重复元素
    
    
    4、利用sort  利用sort()排序方法,然后根据排序后的结果进行遍历及相邻元素比对。
    这种方法首先调用了数组的排序方法sort(),
    然后根据排序后的结果进行遍历及相邻元素比对,如果相等则跳过改元素,直到遍历结束
    
    5、利用includes   检测数组是否有某个值
    
    6、利用filter 过滤器 
    
    7、利用递归去重  
    
    8、利用map
    
    9、reduce+includes
    
    10、利用对象属性去重
    
    创建空对象,遍历数组,将数组中的值设为对象的属性,并给该属性赋初始值1,每出现一次,对应的属性值增加1,
    这样,属性值对应的就是该元素出现的次数了
    
    11  Array.from与set去重

  • 相关阅读:
    剑指offer系列40:构建乘积数组
    自学网站
    存储分析--- 转载
    程序员面试宝典第四版
    资源查找
    诗句
    fifo manage
    charlse抓包
    python基础之-----列表list工厂的仓库
    python内置函数积累
  • 原文地址:https://www.cnblogs.com/zcccz/p/11325216.html
Copyright © 2020-2023  润新知