阅读395 返回首页    go 汽车大全


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

最后更新:2017-11-05 12:04:58

  上一篇:go  关于webStrom-11.1配置less且自动生成.css和自动压缩为.min.css/.min.js
  下一篇:go  JS中数组排序