JavaScript筆記 - Object對象特性的應用

來源:互聯網
上載者:User

標籤:回呼函數   私人   get   map對象   回調   cti   count   還原   pos   

      可以依據js對象中key是永遠不會重複的原則,來類比Map類型以及去除數組重複項。

1、類比Map類型(1)構造Map對象
function Map(){    //private     var obj = {}; // 空的對象容器,存放索引值對    //put方法    this.put = function (key,value){        obj[key] = value;    }    //get方法    this.get = function(key){        if(obj[key] || obj[key] === 0 || obj[key] === false){            return obj[key];        }else{            return null;        }    }    //remove方法    this.remove = function(key){        if(obj[key] || obj[key] === 0 || obj[key] === false){            delete obj[key];        }    }    //size方法    this.size = function(){        var count= 0;         for(var arr in obj){             count++;         }         return count;    }    //遍曆方法,採用回呼函數的方式    this.eachMap = function(fn){         for(var arr in obj){             fn(arr,obj[arr]);         }    }}
(2)測試代碼
//類比java裡的Map類型 var m = new Map(); m.put(‘01‘,‘sscs‘); alert(m.size()); alert(m.get(‘01‘)); m.remove(‘01‘);//遍曆對象元素,傳入的參數是一個函數 m.eachMap(function(key,value){     alert(key +":"+value); });
2、去除數組重複項(1)實現代碼
function unique(arr){    //第一步:把數組中的值,變成js對象中的key    var obj = {}; //私人對象    for( var i = 0,j = arr.length;i<j;i++){        obj[arr[i]] = true;    }    //第二部:再把js對象還原成數組    var arr = [];//私人對象    for(var attr in obj){        if(obj.hasOwnProperty(attr)){            arr.push(attr);        }    }    return arr;}
(2)測試程式
var arr = [1,1,3,4,5];alert(unique(arr)); //顯示1,3,4,5

JavaScript筆記 - Object對象特性的應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.