亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript中實現Map的示例代碼

2019-11-20 11:35:30
字體:
來源:轉載
供稿:網友

不廢話了,直接貼代碼了。

代碼一:

var map=new Map();map.put("a","A");map.put("b","B");map.put("c","C");map.get("a"); //返回:Amap.entrySet() // 返回Entity[{key,value},{key,value}]map.containsKey('kevin') //返回:false
function Map() {   this.keys = new Array();   this.data = new Object();   /**    * 放入一個鍵值對    * @param {String} key    * @param {Object} value    */   this.put = function(key, value) {     if(this.data[key] == null){       this.keys.push(key);       this.data[key] = value;     }else{       this.data[key]=this.data[key];     }     return true;   };   /**    * 獲取某鍵對應的值    * @param {String} key    * @return {Object} value    */   this.get = function(key) {     return this.data[key];   };   /**    * 刪除一個鍵值對    * @param {String} key    */   this.remove = function(key) {     for(var i=0;i<this.keys.length;i++){       if(key===this.keys[i]){         var del_keys= this.keys.splice(i,1);         for(k in del_keys){           this.data[k] = null;         }         return true;       }     }     return false;   };   /**    * 遍歷Map,執行處理函數    *    * @param {Function} 回調函數 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);     }   };   /**    * 獲取鍵值數組    * @return entity[{key,value},{key,value}]    */   this.entrySet = 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[this.keys[i]]       };     }     return entrys;   };   /**    * 判斷Map是否為空    */   this.isEmpty = function() {     return this.keys.length == 0;   };   /**    * 獲取鍵值對數量    */   this.size = function(){     return this.keys.length;   };   this.containsKey=function(key){     return this.keys.filter(function(v){       if(v===key){         return key;       }     }).length>0;   };   /**    * 重寫toString    */   this.toString = function(){     var s = "{";     for(var i=0;i<this.keys.length;i++){       var k = this.keys[i];       s += k+"="+this.data[k];       if(this.keys.length>i+1){         s+=','       }     }     s+="}";     return s;   };   /**    * 解析字符串到Map    * {a=A,b=B,c=B,}    */   this.parserStringAndAddMap=function(str){     var count=0;     if(str && str.length>0){       str=str.trim();       var startIndex=str.indexOf("{"),endIndex=str.lastIndexOf("}");       if(startIndex!==-1 && endIndex!==-1){         str=str.substring(startIndex+1,endIndex);         var arrs= str.split(",");         for(var i=0;i<arrs.length;i++){           var kv=arrs[i].trim();           if(kv.length>0 && kv.indexOf("=")!==-1){             var kv_arr=kv.split("=");             if(kv_arr.length==2){               if(this.put(kv_arr[0].trim(),kv_arr[1].trim())){                 count++;               }else{                 console.error('error: kv:'+kv);               }             }           }         }       }else{         console.log("data error:"+str);       }     }else{       console.log('data is not empty');     }     return count;   }; } 

代碼二:

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() {  /** 存放鍵的數組(遍歷用到) */  this.keys = new Array();  /** 存放數據 */  this.data = new Object();  /**   * 放入一個鍵值對   * @param {String} key   * @param {Object} value   */  this.put = function(key, value) {    if(this.data[key] == null){      this.keys.push(key);    }    this.data[key] = value;  };  /**   * 獲取某鍵對應的值   * @param {String} key   * @return {Object} value   */  this.get = function(key) {    return this.data[key];  };  /**   * 刪除一個鍵值對   * @param {String} key   */  this.remove = function(key) {    this.keys.remove(key);    this.data[key] = null;  };  /**   * 遍歷Map,執行處理函數   *    * @param {Function} 回調函數 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);    }  };  /**   * 獲取鍵值數組(類似Java的entrySet())   * @return 鍵值對象{key,value}的數組   */  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;  };  /**   * 獲取鍵值對數量   */  this.size = function(){    return this.keys.length;  };  /**   * 重寫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','南方電網');  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);}

以上內容通過兩段代碼給大家分享了JavaScript中實現Map,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲精品国产精品国自产观看浪潮| 亚洲综合大片69999| 国产精品视频一区二区高潮| 国产精品一区专区欧美日韩| 亚洲精品一区二区网址| 正在播放欧美视频| 亚洲午夜未删减在线观看| 国产aⅴ夜夜欢一区二区三区| 亚洲成人av片在线观看| 日韩在线视频国产| 91禁国产网站| 日韩欧美在线国产| 国产精品久久久av久久久| 亚洲人成电影在线播放| 欧美巨乳美女视频| 欧美日韩视频免费播放| 欧美亚洲午夜视频在线观看| 欧美人与性动交| 久久久免费精品| 久久久久一本一区二区青青蜜月| 91在线免费网站| 欧美黄色小视频| 1769国产精品| 久久色免费在线视频| 日韩av免费在线| 欧美xxxx18性欧美| 久久久国产影院| 欧美激情免费视频| 91色视频在线观看| 91在线高清免费观看| 美日韩精品视频免费看| 久久精品夜夜夜夜夜久久| 91久久久在线| 亚洲第一区中文99精品| 奇门遁甲1982国语版免费观看高清| 亚洲最新在线视频| 国产精品老牛影院在线观看| 亚洲人成网站999久久久综合| 色综合视频网站| 69视频在线免费观看| 亚洲国产精品资源| 欧美大片免费观看| www.午夜精品| 国产精品久久不能| 日本高清久久天堂| 欧美国产日韩免费| 亚洲精品91美女久久久久久久| 性欧美长视频免费观看不卡| 日韩免费在线看| 日韩中文字幕免费视频| 日韩av中文字幕在线免费观看| 欧美中文在线免费| 欧美高清视频在线播放| 日韩毛片中文字幕| 日本一区二区三区在线播放| 国产精品欧美日韩久久| 成人高清视频观看www| 91av视频导航| 日本午夜精品理论片a级appf发布| 亚洲女同精品视频| 国产欧美一区二区三区久久| 国产日本欧美一区二区三区在线| 国产欧洲精品视频| 亚洲乱码一区二区| 亚洲视屏在线播放| 欧美成人免费大片| 国产精品视频区1| 97久久超碰福利国产精品…| 欧美夜福利tv在线| 久久亚洲一区二区三区四区五区高| 日本一区二区在线免费播放| 成人国产在线视频| 在线成人中文字幕| 国产91在线播放精品91| 国产盗摄xxxx视频xxx69| 51色欧美片视频在线观看| 国精产品一区一区三区有限在线| 色99之美女主播在线视频| 神马久久桃色视频| 国产精品福利无圣光在线一区| 久久久精品999| 久久久视频精品| 亚洲免费伊人电影在线观看av| 欧美性猛交视频| 亚洲国产精品va在线看黑人动漫| 成人欧美一区二区三区在线| 久久亚洲一区二区三区四区五区高| 性色av一区二区咪爱| 91久久国产精品91久久性色| 国产精品高潮在线| 2019国产精品自在线拍国产不卡| 成人乱人伦精品视频在线观看| 欧美放荡办公室videos4k| 亚洲美女在线视频| 久久免费视频在线| 91国产精品电影| 亚洲欧美日韩高清| 亚洲成人性视频| 亚洲精品短视频| 亚洲黄色av女优在线观看| 亚洲国产精品久久久久| 亚洲无线码在线一区观看| 日韩国产高清视频在线| 亚洲美女在线看| 久久91精品国产91久久跳| 国产成人av在线| 国产精品jvid在线观看蜜臀| 亚洲视屏在线播放| 亚洲精品国产拍免费91在线| 亚洲人成毛片在线播放| 精品色蜜蜜精品视频在线观看| 欧美性高潮在线| 国产在线精品自拍| 亚洲电影免费观看高清完整版| 中文字幕日本欧美| 国产精品户外野外| 欧美性受xxx| 亚洲欧美中文日韩v在线观看| 欧美色videos| 精品国产欧美一区二区五十路| 欧美日韩第一视频| 欧美亚洲午夜视频在线观看| 国产成人精品在线播放| 精品视频久久久久久| 青青草精品毛片| 久久久久久久久久久av| 欧美一区二区影院| 这里只有精品视频| 欧美孕妇孕交黑巨大网站| 亚洲女人天堂av| 国产精品旅馆在线| 日韩欧美精品免费在线| 深夜精品寂寞黄网站在线观看| 国产精品成人国产乱一区| 美日韩在线视频| 中文字幕在线日韩| 国产精品第一视频| 一级做a爰片久久毛片美女图片| 九九视频这里只有精品| 亚洲变态欧美另类捆绑| 亚洲自拍偷拍第一页| 国产精品福利在线| 中文字幕日韩欧美在线| 91久久精品美女| 国产一区二区三区在线观看视频| 国产999视频| 亚洲另类激情图| 成人精品网站在线观看| 欧美专区在线观看| 欧美日韩视频免费播放| 国内精品久久久久影院优| 欧美激情在线狂野欧美精品| 懂色aⅴ精品一区二区三区蜜月| 久久精品免费播放| 精品日本美女福利在线观看| 国产国语刺激对白av不卡| 久久久久久久久中文字幕| 韩国精品美女www爽爽爽视频| 97久久精品视频| 欧美日韩人人澡狠狠躁视频| www欧美xxxx| 韩国美女主播一区| 欧美高清视频一区二区| 777777777亚洲妇女|