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

首頁 > 編程 > JavaScript > 正文

javascript 實現map集合

2019-11-20 12:46:08
字體:
來源:轉載
供稿:網友

前幾天項目上想用map集合一樣的東西,簡單拿對象拼了一下子,今天閑的慌實現一下
大家不要見笑

代碼

var Map = function (){  /************基礎變量**************/  var hashmap = {};  var keys = [];  var vals = [];  var entrys = [];  var size = 0;  var index = {};   var Entry = function(key,value){    var entryKey = key;    var entryValue = value;    this.getKey = function (){      return entryKey;    };    this.getValue = function(){      return entryValue;    };  };  /************基本方法 按字母排序**************/  this.clear = function(key) {    hashmap[key] = undefined;    var i = index[key];    entrys.splice(i,1);    vals.splice(i,1);    keys.splice(i,1);    size --;  };     this.entrySet = function() {    return entrys;  };     this.get = function(key){    return hashmap[key];  };     this.isEmpty = function() {    if(hashmap) return true;    return false;  };   this.keySet = function() {    return keys;  };     this.put = function(key,value){    if(!this.get(key)){      entrys.push(new Entry(key,value));      keys.push(key);      vals.push(value);      index[key] = size;      size ++;    } else {      var i = index[key];      entrys[i] = new Entry(key,value);      vals[i] = value;    }    hashmap[key] = value;  };   this.size = function() {    return size;  };     this.values = function() {    return vals;  };};/************擴展方法**************/Map.prototype = {  containsKey : function(key) {    if(this.get(key)) return true;    return false;  },  putAll : function(set) {    for(var e in set){      if(set[e]){        this.put(e,set[e]);      }    }  },  remove : function(key) {    var v = this.get(key);    this.clear(key);    return v;  }};var h = new Map();h.put('a',10);h.put('b',11);h.put('c',3);h.put('d',5);console.info(h.size());h.clear('a');console.info(h.containsKey('a'));console.info(h.containsKey('b'));console.info(h.size()); console.log(h.entrySet());console.log(h.keySet());console.log(h.values()); for(var i in h.entrySet()){  var obj = h.entrySet()[i];  console.log(obj.getKey() + ":" + obj.getValue());}  

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苗栗县| 达拉特旗| 常熟市| 新安县| 永吉县| 板桥市| 鹤岗市| 洪湖市| 遵化市| 平定县| 时尚| 嘉峪关市| 达孜县| 洪江市| 浮山县| 沐川县| 灵璧县| 军事| 中江县| 思南县| 奉贤区| 晴隆县| 长阳| 大同市| 孟州市| 平武县| 东阿县| 新宁县| 沾化县| 宜兰县| 舞阳县| 于田县| 阿城市| 河津市| 镇远县| 马龙县| 孝昌县| 四会市| 河源市| 额济纳旗| 台安县|