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

JS模擬的Map類實現(xiàn)方法

 更新時間:2016年06月17日 09:25:03   作者:hbiao68  
這篇文章主要介紹了JS模擬的Map類實現(xiàn)方法,可實現(xiàn)模擬java中map屬性按照鍵值對保存的功能,提供了采用數(shù)組和json兩種實現(xiàn)方式,需要的朋友可以參考下

本文實例講述了JS模擬的Map類。分享給大家供大家參考,具體如下:

根據(jù)java中map的屬性,實現(xiàn)key----value保存

1、使用數(shù)組方式存儲數(shù)據(jù),(使用閉包)

function Map() {
  var struct = function (key, value) {
    this.key = key;
    this.value = value;
  }
  var put = function (key, value) {
    for (var i = 0; i < this.arr.length; i++) {
      if (this.arr[i].key === key) {
        this.arr[i].value = value;
        return;
      }
    }
    this.arr[this.arr.length] = new struct(key, value);
  }
  var get = function (key) {
    for (var i = 0; i < this.arr.length; i++) {
      if (this.arr[i].key === key) {
        return this.arr[i].value;
      }
    }
    return null;
  }
  var remove = function (key) {
    var v;
    for (var i = 0; i < this.arr.length; i++) {
      v = this.arr.pop();
      if (v.key === key) {
        continue;
      }
      this.arr.unshift(v);
    }
  }
  var size = function () {
    return this.arr.length;
  }
  var isEmpty = function () {
    return this.arr.length <= 0;
  }
  this.arr = new Array();
  this.get = get;
  this.put = put;
  this.remove = remove;
  this.size = size;
  this.isEmpty = isEmpty;
}

2、使用JSON方式存儲數(shù)據(jù)(使用原型方式拓展方法)

function Map() {
  this.obj = {};
  this.count = 0;
}
Map.prototype.put = function (key, value) {
  var oldValue = this.obj[key];
  if (oldValue == undefined) {
    this.count++;
  }
  this.obj[key] = value;
}
Map.prototype.get = function (key) {
  return this.obj[key];
}
Map.prototype.remove = function (key) {
  var oldValue = this.obj[key];
  if (oldValue != undefined) {
    this.count--;
    delete this.obj[key];
  }
}
Map.prototype.size = function () {
  return this.count;
}
var map = new Map();
map.put("key","map");
map.put("key","map1");
alert(map.get("key"));//map1
map.remove("key");
alert(map.get("key"));//undefined

更多關于JavaScript相關內(nèi)容感興趣的讀者可查看本站專題:《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數(shù)學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

相關文章

  • 原生Js實現(xiàn)按的數(shù)據(jù)源均分時間點幻燈片效果(已封裝)

    原生Js實現(xiàn)按的數(shù)據(jù)源均分時間點幻燈片效果(已封裝)

    騰訊新聞詳情頁有一個事件進展效果, 覺得挺有意思. 于是, 就有了本文的效果: 按數(shù)據(jù)源均分時間點幻燈. 花了三個多小時寫的, 當然, 包括樣式與調(diào)試. 兼容主流。
    2010-12-12
  • js下載文件并修改文件名

    js下載文件并修改文件名

    這篇文章主要為大家詳細介紹了js下載文件并修改文件名的代碼,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • JavaScript之clipboard用法詳解

    JavaScript之clipboard用法詳解

    這篇文章主要介紹了JavaScript之clipboard用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • javascript異步處理工作機制詳解

    javascript異步處理工作機制詳解

    籠統(tǒng)地說,異步在javascript就是延時執(zhí)行。嚴格來說,javascript中的異步編程能力都是由BOM與DOM提供的,如setTimeout,XMLHttpRequest,還有DOM的事件機制,等等很多。這些東西都有一個共同的特點,就是擁有一個回調(diào)函數(shù),實現(xiàn)控制反轉。
    2015-04-04
  • 一定有你會用到的JavaScript一行代碼實用技巧總結

    一定有你會用到的JavaScript一行代碼實用技巧總結

    這篇文章主要為大家介紹了一定有你會用到的JavaScript一行代碼總結,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-07-07
  • js使用文件流下載csv文件的實現(xiàn)方法

    js使用文件流下載csv文件的實現(xiàn)方法

    這篇文章主要給大家介紹了關于js使用文件流下載csv文件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • 使用js寫的一個簡易的投票

    使用js寫的一個簡易的投票

    投票想必大家并不陌生吧,下面為大家介紹下使用js是如何寫一個簡易的投票
    2013-11-11
  • 關于javascript中限定時間內(nèi)防止按鈕重復點擊的思路詳解

    關于javascript中限定時間內(nèi)防止按鈕重復點擊的思路詳解

    下面小編就為大家?guī)硪黄P于javascript中限定時間內(nèi)防止按鈕重復點擊的思路詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • 淺聊一下Javascript中的數(shù)據(jù)類型和類型轉換

    淺聊一下Javascript中的數(shù)據(jù)類型和類型轉換

    在JavaScript中,理解數(shù)據(jù)類型,如何區(qū)分它們,以及它們?nèi)绾伪晦D換是至關重要的,在這篇文章中,我們將探討這些主題,以幫助大家鞏固JavaScript基礎
    2023-08-08
  • JavaScript模擬文件拖選框樣式v1.0的實例

    JavaScript模擬文件拖選框樣式v1.0的實例

    下面小編就為大家?guī)硪黄狫avaScript模擬文件拖選框樣式v1.0的實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08

最新評論

商城县| 察哈| 永州市| 沾益县| 台中市| 曲松县| 福贡县| 霍林郭勒市| 蛟河市| 土默特左旗| 灵台县| 太湖县| 攀枝花市| 东山县| 紫云| 铁岭市| 博兴县| 曲靖市| 永靖县| 无极县| 定南县| 双流县| 共和县| 长子县| 正镶白旗| 岳阳县| 巴楚县| 洛扎县| 隆安县| 深水埗区| 临泉县| 渑池县| 谷城县| 响水县| 苏州市| 阜南县| 九寨沟县| 乾安县| 德惠市| 信宜市| 全州县|