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]存在的话,就说明该值是重复的。

  • 相关阅读:
    动态调整iframe的高度
    Binary Tree Zigzag Level Order Traversal
    Leetcode Anagrams
    二叉树层次遍历串成单链表
    leetcode 4sum
    leetcode 二叉树系列
    编程之美2.3
    Decode Ways
    leetcode graycode
    leetcode editdistance
  • 原文地址:https://www.cnblogs.com/yxkNotes/p/11980856.html
Copyright © 2011-2022 走看看