zoukankan      html  css  js  c++  java
  • 数组去重

    JavaScript数组去重

    let arr = "1, 2, 3, 1, 2, 5, 8, '1', '2', 3"
    function unique(arr) {
          // 方法一
          let res = []
          for (let i = 0, len = arr.length; i < len; i++) {
            let item = arr[i]
            if (res.indexOf(item) === -1) res.push(item)
          }
          return res
          // 方法二
          return arr.filter(function (item, index, array) {
            return array.indexOf(item) === index
          })
          // 方法三
          let res = []
          for (let i = 0, len = arr.length; i < len; i++) {
            for (let j = i + 1; j < len; j++) {
              // 这一步十分巧妙
              // 如果发现相同元素
              // 则 i 自增进入下一个循环比较
              if (arr[i] === arr[j]) j = ++i
            }
            res.push(arr[i])
          }
          return res
          // 方法四
          return Array.from(new Set(arr))
          // 方法五
          let hashmap = {};
          let res = [];
          for(let i = 0; i < arr.length; i++) {
            // If key returns null (res), it is evaluated as false.
            if(!hashmap.hasOwnProperty([arr[i]])) {
              hashmap[arr[i]] = '';
              res.push(arr[i]);
            }
          }
          return res
        }
  • 相关阅读:
    数学
    数学
    Computer Science
    数学
    Computer Science
    元学习
    数学
    数学
    数学
    数学
  • 原文地址:https://www.cnblogs.com/memphis-f/p/10077298.html
Copyright © 2011-2022 走看看