zoukankan      html  css  js  c++  java
  • JS中数组去除重复

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

    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"]

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

    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类型了!!关键时刻得处理

    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"]
  • 相关阅读:
    POJ 1095 Trees Made to Order 最详细的解题报告
    Producter and Consumer
    How to use the function of bind
    How to use the functions of apply and call
    Configurate vim tool
    #4713. 方程
    #4709. 树
    #4718. 管理
    #4710. 并
    #4707. 点分治
  • 原文地址:https://www.cnblogs.com/-walker/p/5420014.html
Copyright © 2011-2022 走看看