最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

javascript 實(shí)現(xiàn)map集合

 更新時間:2015年04月03日 16:42:00   投稿:hebedich  
本文給大家分享的是個人項(xiàng)目中需要的一個小功能,當(dāng)時經(jīng)過一番度娘才實(shí)現(xiàn),現(xiàn)在從項(xiàng)目中拿出來,分享給大家,需要的小伙伴快來參考下吧。

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

代碼

var Map = function (){
  /************基礎(chǔ)變量**************/
  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;
  };
};
/************擴(kuò)展方法**************/
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());
}
  

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

相關(guān)文章

  • javascript實(shí)現(xiàn)可全選、反選及刪除表格的方法

    javascript實(shí)現(xiàn)可全選、反選及刪除表格的方法

    這篇文章主要介紹了javascript實(shí)現(xiàn)可全選、反選及刪除表格的方法,實(shí)例展示了javascript針對表格全選、反選、刪除、隔行變色、刪除提示等常用技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • JavaScript中關(guān)鍵字 in 的使用方法詳解

    JavaScript中關(guān)鍵字 in 的使用方法詳解

    這篇文章主要介紹了JavaScript中關(guān)鍵字 in 的使用方法詳解,非常不錯,具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • Js 彈出框口并返回值的兩種常用方法

    Js 彈出框口并返回值的兩種常用方法

    有時候我們需要在新窗口執(zhí)行一些代碼并講求將執(zhí)行的結(jié)果返回到這個頁面,那么就需要下面的方法,js常用的就是下面這中方法。
    2010-12-12
  • Canvas?drawImage方法實(shí)現(xiàn)圖片壓縮詳解

    Canvas?drawImage方法實(shí)現(xiàn)圖片壓縮詳解

    這篇文章主要為大家介紹了Canvas?drawImage方法實(shí)現(xiàn)圖片壓縮詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • JS實(shí)現(xiàn)獲取GIF總幀數(shù)的方法詳解

    JS實(shí)現(xiàn)獲取GIF總幀數(shù)的方法詳解

    如何通過js在上傳前就拿到它的總幀數(shù)來判斷呢?本文就跟大家分享一種解決方案,并將其封裝成插件發(fā)布至npm倉庫,快跟隨小編一起學(xué)習(xí)一下吧
    2022-05-05
  • p5.js臨摹動態(tài)圖形的方法

    p5.js臨摹動態(tài)圖形的方法

    這篇文章主要為大家詳細(xì)介紹了p5.js臨摹動態(tài)圖形的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • 自己封裝的常用javascript函數(shù)分享

    自己封裝的常用javascript函數(shù)分享

    這里給大家推薦一個自己封裝的常用的javascript函數(shù),基本上常見的操作都包含在內(nèi)了,有需要的小伙伴直接拿走使用吧。
    2015-01-01
  • JS處理一些簡單計(jì)算題

    JS處理一些簡單計(jì)算題

    本篇文章通過JS來實(shí)現(xiàn)以下日常用經(jīng)常用到的計(jì)算以及換算等小工具,有興趣的朋友可以學(xué)習(xí)下。
    2018-02-02
  • JS獲取當(dāng)前時間戳方法解析

    JS獲取當(dāng)前時間戳方法解析

    這篇文章主要介紹了JS獲取當(dāng)前時間戳方法解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • JS遍歷數(shù)組和對象的區(qū)別及遞歸遍歷對象、數(shù)組、屬性的方法詳解

    JS遍歷數(shù)組和對象的區(qū)別及遞歸遍歷對象、數(shù)組、屬性的方法詳解

    本文給大家js遍歷數(shù)組和遍歷對象的區(qū)別,一般來說for用來遍歷數(shù)組對象而for-in用來遍歷非數(shù)組對象。接下來小編給大家?guī)砹薺s遍歷數(shù)組和對象的區(qū)別及js遞歸遍歷對象、數(shù)組、屬性的方法詳解,一起看下吧
    2016-06-06

最新評論

文成县| 广安市| 七台河市| 长子县| 手游| 溆浦县| 兴城市| 云安县| 广平县| 潢川县| 简阳市| 平顶山市| 梁河县| 文山县| 五寨县| 台州市| 郓城县| 图们市| 康平县| 简阳市| 延川县| 乐安县| 巴南区| 浑源县| 环江| 湖州市| 长宁区| 黔西县| 区。| 涟水县| 金塔县| 唐山市| 洞头县| 洛扎县| 白河县| 谷城县| 诸城市| 衡水市| 永仁县| 内黄县| 包头市|