• 数组去重的方法


    第一种: 利用Map对象和数组的filter方法
        var arr1 = [1, 2, 3, 1, 2, 4, NaN, undefined, NaN, undefined]
        function unique(arr) {
          const res = new Map()
          return arr.filter((a) => !res.has(a) && res.set(a))
        }
        var newArr = unique(arr1)
        console.log(newArr);
    结果:
    1.Map对象是ES6提供的一个新的数据结构,其中has的办法是返回一个布尔值,表示某个值是否存在当前的Mp对象之中,set的办法是给Map对象设置key/value。
    2.filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
    所以说,Map对象结合filter方法可以达到数组去重的效果~
     
    clear
        从映射中移除所有元素
    delete
        从映射中移除指定的元素
    forEach
        对映射中的每个元素执行指定操作
    get
        返回映射中的指定元素
    has
        如果映射包含指定元素,则返回 true
    set
         添加一个新建元素到映射
    toString
        返回映射的字符串表示形式
    valueOf
        返回指定对象的原始值
     
    二、filter()
    array.filter(function(currentValue,index,arr), thisValue)   返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。
    参数: 
      currentValue 必须。当前元素的值
      index 可选。当前元素的索引值
      arr 可选。当前元素属于的数组对象
    thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
    如果省略了 thisValue ,"this" 的值为 "undefined"
    filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
    注意: filter() 不会对空数组进行检测。
    注意: filter() 不会改变原始数组。
     案例: done是 true 的
    var array1 = [
          { "id": 0, "info": "dsfffffffffffhd", "done": false },
          { "id": 1, "info": "dsfffffffffffhd", "done": true },
          { "id": 22, "info": "dsfffffffffffhd", "done": false },
          { "id": 3, "info": "dsfffffffffffhd", "done": true },
          { "id": 42, "info": "dsfffffffffffhd", "done": false },
          { "id": 53, "info": "dsfffffffffffhd", "done": false },
          { "id": 6, "info": "dsfffffffffffhd", "done": true }
        ]
    
        var ar = array1.filter(function(value, index, arr) {
          return value.done === true
        })
        console.log(ar);
    结果:

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    数组去重的方法
  • 相关阅读:
    编写有效事务的指导原则
    ReadUnCommitted与ReadCommitted
    用Delphi 、VB.net以及C#混合编程
    查询未提交事务个数
    输入法的切换问题
    有关数据死锁问题的一篇好文章,一个好博客
    同一连接内事务名只有一个
    无法运行16位应用程序
    查看长时间运行的事务
    在TSQL中使用临时表的注意事项
  • 原文地址:https://www.cnblogs.com/maxiag/p/13472144.html
Copyright © 2020-2023  润新知