zoukankan      html  css  js  c++  java
  • filter()数组去重,数组对象去重

    filter去重首先要清楚在数组中indexOf的含义

    indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

    1.简单数据类型去重

    let arr = ['a', 'b', 'c', 'c', 'd', 'd']
    let outPut = arr.filter((item, index) => arr.indexOf(item) == index)
     console.log(outPut) // ['a', 'b', 'c', 'd']
    

    2.数组对象去重

    let arr = [
      {
        name: 'Jack'
      },
      {
        name: 'Jack'
      },
      {
        name: 'Tom'
      },
      {
        name: 'Edward'
      },
    ]
    let arr2 = arr.filter((item, index) => {
      let temArr = []
      arr.forEach(item2 => temArr.push(item2.name))
      return temArr.indexOf(item.name) == index
    })
    // 对象的某个属性放入临时数组,对比临时数组中元素所在对象的索引,
    // 多个对象可push多个,均不相同return ..&&..   有一不同 return ..||..
    // console.log(arr2) 
    // [ { name: 'Jack' }, { name: 'Tom' }, { name: 'Edward' } ]
    3.数组对象去重

    let arr = [
      {
        name: 'Jack'
      },
      {
        name: 'Jack'
      },
      {
        name: 'Tom'
      },
      {
        name: 'Edward'
      },
    ]
    unique(arr) {
                    const res = new Map();
                    return arr.filter((arr) => !res.has(arr.name) && res.set(arr.name, 1));
                },
    this.unique(arr)
    4.filter
      let list = [{},{}]
              const arr = list.filter(item => { return item.dictsCode == this.formInline.sampleType }) 
      if (arr.length) {
        //
               this.formInline.sampleName = arr[0].dictsNameC
            }
  • 相关阅读:
    数据结构实验:连通分量个数
    数据结构实验:连通分量个数
    二叉排序树
    二叉排序树
    数据结构实验之图论七:驴友计划
    数据结构实验之图论七:驴友计划
    AOE网上的关键路径
    AOE网上的关键路径
    图的深度遍历
    图的深度遍历
  • 原文地址:https://www.cnblogs.com/wssdx/p/13581313.html
Copyright © 2011-2022 走看看