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中数组去除重复的三种方法,希望对大家有所帮助!

  • 相关阅读:
    [HTML] IE=edge,chrome=1的META标签详解
    [FFmpeg] ffmpeg 常用命令
    rsyncd 配置使用
    httpd配置
    ftp利用脚本添加本地用户
    zabbix监控概念
    搭建本地yum源并定时同步
    linux添加lvm磁盘大小,命令行创建swap
    500 OOPS: vsftpd: refusing to run with writable root inside chroot()
    利用saltstack批量安装clamav杀毒软件
  • 原文地址:https://www.cnblogs.com/wangliko/p/8280501.html
Copyright © 2011-2022 走看看