zoukankan      html  css  js  c++  java
  • Js数组去重常用方法

    1.利用Es6 Set()

    var arr = [1,2,2,3,4] // 需要去重的数组
    var set = new Set(arr) // {1,2,3,4}
    var newArr = Array.from(set) // 再把set转变成array
    console.log(newArr) // [1,2,3,4]
    

    2.利用indexOf

    const unique= arr => {
      const res = [];
      for (let i = 0; i < arr.length; i++) {
        if (res.indexOf(arr[i]) === -1) res.push(arr[i]);
      }
      return res;
    }

    3.利用includes

    const unique = arr => {
      const res = [];
      for (let i = 0; i < arr.length; i++) {
        if (!res.includes(arr[i])) res.push(arr[i]);
      }
      return res;
    }

    4.利用filter

    const unique = arr => {
      return arr.filter((item, index) => {
        return arr.indexOf(item) === index;
      });
    }

    5.利用Es6 Map()

    const unique = arr => {
      const map = new Map();
      const res = [];
      for (let i = 0; i < arr.length; i++) {
        if (!map.has(arr[i])) {
          map.set(arr[i], true)
          res.push(arr[i]);
        }
      }
      return res;
    }

    6.Object 键值对去重

       把数组的值存成 Object 的 key 值,比如 Object[value1] = true,在判断另一个值的时候,如果 Object[value2]存在的话,就说明该值是重复的。

  • 相关阅读:
    ubuntu1604安装微信
    python中汉字 hash值
    python-json
    lvm 扩展目录大小
    python数据可视化编程实战
    python-数据分析
    爬虫学习路径
    415. 字符串相加-字符串-简单
    43. 字符串相乘-字符串-中等难度
    44. 通配符匹配-动态规划-困难
  • 原文地址:https://www.cnblogs.com/yxkNotes/p/11980856.html
Copyright © 2011-2022 走看看