最新国产好看的视频,伊人天堂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

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

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

相關(guān)文章

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

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

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

    js下載文件并修改文件名

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

    JavaScript之clipboard用法詳解

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

    javascript異步處理工作機(jī)制詳解

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

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

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

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

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

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

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

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

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

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

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

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

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

最新評論

阳新县| 清新县| 洪江市| 青海省| 贵德县| 青海省| 东乌珠穆沁旗| 双鸭山市| 观塘区| 宜阳县| 马龙县| 玉屏| 科技| 河北省| 镇沅| 香格里拉县| 三门峡市| 商洛市| 达尔| 葵青区| 兴义市| 岐山县| 潼南县| 南漳县| 博罗县| 磐石市| 大厂| 万盛区| 桐庐县| 仁寿县| 文水县| 江川县| 萝北县| 华蓥市| 固安县| 清镇市| 肇源县| 专栏| 临沂市| 正安县| 山西省|