国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

一個(gè)簡(jiǎn)單的JavaScript Map實(shí)例(分享)

2019-11-20 09:19:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

用js寫(xiě)了一個(gè)Map,帶遍歷功能,請(qǐng)大家點(diǎn)評(píng)下啦。

//map.js

Array.prototype.remove = function(s) {   for (var i = 0; i < this.length; i++) {     if (s == this[i])       this.splice(i, 1);   } }  /**  * Simple Map  *  *  * var m = new Map();  * m.put('key','value');  * ...  * var s = "";  * m.each(function(key,value,index){  *   s += index+":"+ key+"="+value+"/n";  * });  * alert(s);  *  * @author dewitt  * @date 2008-05-24  */function Map() {   /** 存放鍵的數(shù)組(遍歷用到) */  this.keys = new Array();   /** 存放數(shù)據(jù) */  this.data = new Object();      /**    * 放入一個(gè)鍵值對(duì)    * @param {String} key    * @param {Object} value    */  this.put = function(key, value) {     if(this.data[key] == null){       this.keys.push(key);     }     this.data[key] = value;   };      /**    * 獲取某鍵對(duì)應(yīng)的值    * @param {String} key    * @return {Object} value    */  this.get = function(key) {     return this.data[key];   };      /**    * 刪除一個(gè)鍵值對(duì)    * @param {String} key    */  this.remove = function(key) {     this.keys.remove(key);     this.data[key] = null;   };      /**    * 遍歷Map,執(zhí)行處理函數(shù)    *    * @param {Function} 回調(diào)函數(shù) function(key,value,index){..}    */  this.each = function(fn){     if(typeof fn != 'function'){       return;     }     var len = this.keys.length;     for(var i=0;i<len;i++){       var k = this.keys[i];       fn(k,this.data[k],i);     }   };      /**    * 獲取鍵值數(shù)組(類(lèi)似Java的entrySet())    * @return 鍵值對(duì)象{key,value}的數(shù)組    */  this.entrys = function() {     var len = this.keys.length;     var entrys = new Array(len);     for (var i = 0; i < len; i++) {       entrys[i] = {         key : this.keys[i],         value : this.data[i]       };     }     return entrys;   };      /**    * 判斷Map是否為空    */  this.isEmpty = function() {     return this.keys.length == 0;   };      /**    * 獲取鍵值對(duì)數(shù)量    */  this.size = function(){     return this.keys.length;   };      /**    * 重寫(xiě)toString    */  this.toString = function(){     var s = "{";     for(var i=0;i<this.keys.length;i++,s+=','){       var k = this.keys[i];       s += k+"="+this.data[k];     }     s+="}";     return s;   }; }   function testMap(){   var m = new Map();   m.put('key1','Comtop');   m.put('key2','南方電網(wǎng)');   m.put('key3','景新花園');   alert("init:"+m);      m.put('key1','康拓普');   alert("set key1:"+m);      m.remove("key2");   alert("remove key2: "+m);      var s ="";   m.each(function(key,value,index){     s += index+":"+ key+"="+value+"/n";   });   alert(s); }   //testMap.htm?<html> <head> <title>Test Map</title> <script language="javascript" src="map.js"> </script> </head> <body> <input type="button" value="test" onclick="testMap()"> </body> </html> 

以上這篇一個(gè)簡(jiǎn)單的JavaScript Map實(shí)例(分享)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 拉萨市| 顺义区| 周宁县| 新乡市| 鄂伦春自治旗| 萨嘎县| 泗水县| 济南市| 习水县| 织金县| 莱芜市| 淮南市| 汕头市| 通山县| 金秀| 都安| 通江县| 凤山县| 兰溪市| 巍山| 嵊泗县| 普兰县| 通河县| 黑河市| 新郑市| 英超| 万年县| 成都市| 彰化市| 扬州市| 米林县| 聂荣县| 北碚区| 沙坪坝区| 宜城市| 阿拉善右旗| 资源县| 葫芦岛市| 布拖县| 哈密市| 杭锦后旗|