zoukankan      html  css  js  c++  java
  • JavaScrip数组去重--终极版

    第一种

    var arr = [1,2,3,4,1,2,4,5,6];
    console.log(arr); Array.prototype.unique
    = function() { var n = []; //一个新的临时数组 for (var i = 0; i < this.length; i++) //遍历当前数组 { //如果当前数组的第i已经保存进了临时数组,那么跳过, //否则把当前项push到临时数组里面 if (n.indexOf(this[i]) == -1) n.push(this[i]); } return n; }; console.log(arr.unique());

    第二种

    var arr = [1,2,3,4,1,2,4,5,6];
    console.log(arr);
    Array.prototype.unique = function()
    {
        var n = {},
            r = []; //n为hash表,r为临时数组
        for (var i = 0; i < this.length; i++) { //遍历当前数组
            if (!n[this[i]]) { //如果hash表中没有当前项
                n[this[i]] = true; //存入hash表
                r.push(this[i]); //把当前数组的当前项push到临时数组里面
            }
        }
        return r;
    };
    console.log(arr.unique());

    第三种

    var arr = [1,2,3,4,1,2,4,5,6];
    console.log(arr);
    Array.prototype.unique = function(){
        var n = [this[0]]; //结果数组
        for (var i = 1; i < this.length; i++) //从第二项开始遍历
        {
            //如果当前数组的第i项在当前数组中第一次出现的位置不是i,
            //那么表示第i项是重复的,忽略掉。否则存入结果数组
            if (this.indexOf(this[i]) == i) n.push(this[i]);
        }
        return n;
    };
    console.log(arr.unique());
  • 相关阅读:
    vue框架组件id获取
    Proxy 与 Object.defineProperty 优劣对比
    vue 父组件监听子组件生命周期
    Vue 的父组件和子组件生命周期钩子函数执行顺序
    k8s 集群部署--学习
    Linux命令:ipcs/ipcrm命令
    Python模块
    XAMPP+TestLink
    bug管理工具
    批量管理工具:pssh/ansible
  • 原文地址:https://www.cnblogs.com/liu-fei-fei/p/6689667.html
Copyright © 2011-2022 走看看