zoukankan      html  css  js  c++  java
  • js去重复

    方法一:返回新数组每个位子类型没变

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function outRepeat(a){
          var hash=[],arr=[];
          for (var i = 0; i < a.length; i++) {
            hash[a[i]]!=null;
            if(!hash[a[i]]){
              arr.push(a[i]);
              hash[a[i]]=true;
            }
          }
          console.log(arr);
        }
        outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]

    方法二:类似于法一,但本农觉着法一更易于理解

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function outRepeat(a){
          var hash=[],arr=[];
          for (var i = 0,elem;(elem=a[i])!=null; i++) {
            if(!hash[elem]){
              arr.push(elem);
              hash[elem]=true;
            }
          }
          console.log(arr);
        }
        outRepeat([2,4,4,5,"a","a"]);//[2, 4, 5, "a"]

    方法三:比前两个更易于理解但是返回的新数组每个位子的number类型变为string类型了!!关键时刻得处理

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function outRepeat(a){
          var hash=[],arr=[];
          for (var i = 0; i < a.length; i++) {
            hash[a[i]]=null;
          }
          for(var key in hash){
              arr.push(key);       
            }
          console.log(arr);
        }
        outRepeat([2,4,4,5,"a","a"]);//["2", "4", "5", "a"]

    以上是小编给大家介绍的JavaScript中数组去除重复的三种方法,希望对大家有所帮助!

  • 相关阅读:
    .net面试--值类型和引用类型
    Centos7下安装Docker(详细的新手装逼教程)
    C# 开源框架(整理)
    service配置文件
    kafka消息队列、环境搭建与使用(.net framework)
    消息队列
    并发、并行、同步、异步、多线程的区别
    破解studio 3T
    HM后台(二)
    HM后台(一)
  • 原文地址:https://www.cnblogs.com/wangliko/p/8280501.html
Copyright © 2011-2022 走看看