zoukankan      html  css  js  c++  java
  • js实现数组去重

    在js实际应用中会用到数组去重,那么应该怎样实现去重呢?

    方法1:

    var arr = [1,1,1,2,3,3,2,1,1,1]
            // var obj = {
            //     "1":"avb"
            // }
            Array.prototype.unique = function(){
                var temp ={};
                var arr = [];
    
                for(var i = 0;i < this.length ; i++){
                    if(!temp[this[i]]){
                        temp[this[i]] = 'abc';
                        arr.push(this[i])
                    }
                }
                return arr
            }
    
    console.log(arr.unique());//结果为 [1,2,3]
    

      方法2: 利用hash哈希表(推荐)

    var arr = [1,1,1,2,3,3,2,1,1,1]
    Array.prototype.unique2 = function () {  
                var hash = [],
                n = [];//hash 哈希表,n 为临时数组
                for(var i = 0; i < this.length; i ++){
                    if(!hash[this[i]]){
                        hash[this[i]] = true;//存入哈希表
                        n.push(this[i]);//当前元素push到数组中
                    }
                }
                return n
            }
            console.log(arr.unique2())
    

      方法3

     var arr = [1,1,1,2,3,3,2,1,1,1]
            Array.prototype.unique = function () {  
                   var arr = [];
                for(var i = 0; i < this.length;i++){
                    if(arr.indexOf(this[i]) == -1){
                       
                        arr.push(this[i])
                    }
                }
                return arr
            }
    console.log(arr.unique())
    

      

  • 相关阅读:
    linux最简单项目部署
    sql索引
    /etc/profile和~/.bash_profile区别
    Linux下查找软件的目录位置
    为什么要使用消息队列?
    idea中常用的快捷键
    PAT 甲级 1023 Have Fun with Numbers (20分)
    PAT《算法笔记》
    Text 2
    Text-1
  • 原文地址:https://www.cnblogs.com/lvxisha/p/12166900.html
Copyright © 2011-2022 走看看