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

一個(gè)簡(jiǎn)單的JavaScript Map實(shí)例(分享)

 更新時(shí)間:2016年08月03日 09:32:52   投稿:jingxian  
下面小編就為大家?guī)?lái)一篇一個(gè)簡(jiǎn)單的JavaScript Map實(shí)例(分享)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

用js寫(xiě)了一個(gè)Map,帶遍歷功能,請(qǐng)大家點(diǎn)評(píng)下啦。

//map.js

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

?
<html> 
<head> 
<title>Test Map</title> 
<script language="javascript" src="map.js"> 
</script> 
</head> 
<body> 
<input type="button" value="test" onclick="testMap()"> 
</body> 
</html> 

以上這篇一個(gè)簡(jiǎn)單的JavaScript Map實(shí)例(分享)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JS用斜率判斷鼠標(biāo)進(jìn)入DIV四個(gè)方向的方法

    JS用斜率判斷鼠標(biāo)進(jìn)入DIV四個(gè)方向的方法

    在網(wǎng)上去搜判斷鼠標(biāo)移入div移入移出的方法大同小異,下面小編給大家分享一篇文章關(guān)于js判斷鼠標(biāo)進(jìn)入div方向的代碼,感興趣的朋友一起看看吧
    2016-11-11
  • JS組件庫(kù)AlloyTouch實(shí)現(xiàn)圖片輪播過(guò)程解析

    JS組件庫(kù)AlloyTouch實(shí)現(xiàn)圖片輪播過(guò)程解析

    這篇文章主要介紹了JS組件庫(kù)AlloyTouch實(shí)現(xiàn)圖片輪播組件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • antd-mobile ListView長(zhǎng)列表的數(shù)據(jù)更新遇到的坑

    antd-mobile ListView長(zhǎng)列表的數(shù)據(jù)更新遇到的坑

    這篇文章主要介紹了antd-mobile ListView長(zhǎng)列表的數(shù)據(jù)更新遇到的坑,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 基于JS實(shí)現(xiàn)限時(shí)搶購(gòu)倒計(jì)時(shí)間表代碼

    基于JS實(shí)現(xiàn)限時(shí)搶購(gòu)倒計(jì)時(shí)間表代碼

    本文給大家分享一段簡(jiǎn)單的代碼基于js實(shí)現(xiàn)限時(shí)搶購(gòu)倒計(jì)時(shí)間表功能,非常不錯(cuò),代碼簡(jiǎn)單易懂,需要的的朋友參考下吧
    2017-05-05
  • 如何將一維度數(shù)組轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu)

    如何將一維度數(shù)組轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu)

    在開(kāi)發(fā)過(guò)程中,可能會(huì)遇到需要將一維數(shù)組轉(zhuǎn)換為多維數(shù)組的情況,以滿足特定數(shù)據(jù)結(jié)構(gòu)的需求,文章介紹了如何將后端返回的一維列表數(shù)據(jù)通過(guò)編程方法轉(zhuǎn)換成三維數(shù)組結(jié)構(gòu),以適應(yīng)特定的UI展示需求,通過(guò)循環(huán)遍歷和數(shù)據(jù)重組的方式,可以有效地實(shí)現(xiàn)數(shù)組結(jié)構(gòu)的轉(zhuǎn)換
    2024-09-09
  • 一文詳解CORS與預(yù)檢請(qǐng)求

    一文詳解CORS與預(yù)檢請(qǐng)求

    這篇文章主要介紹了CORS與預(yù)檢請(qǐng)求,CORS是一套規(guī)范,指導(dǎo)瀏覽器和服務(wù)器之間如何進(jìn)行跨域資源共享,當(dāng)發(fā)送跨域請(qǐng)求時(shí),瀏覽器會(huì)先發(fā)送一個(gè)OPTIONS方法的預(yù)檢請(qǐng)求。文中介紹的非常詳細(xì),需要的同學(xué)可以參考一下
    2023-04-04
  • 利用原生JS實(shí)現(xiàn)歡樂(lè)水果機(jī)小游戲

    利用原生JS實(shí)現(xiàn)歡樂(lè)水果機(jī)小游戲

    這篇文章主要介紹了利用原生JS實(shí)現(xiàn)歡樂(lè)水果機(jī)小游戲,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 詳解js中Array的方法及技巧

    詳解js中Array的方法及技巧

    這篇文章我們給大家總結(jié)了關(guān)于js中Array的方法及技巧,有需要的朋友們可以學(xué)習(xí)參考下。
    2018-09-09
  • 用javascript getComputedStyle獲取和設(shè)置style的原理

    用javascript getComputedStyle獲取和設(shè)置style的原理

    這兩天用了baidu 百度空間中的彈出窗口js,感覺(jué)不錯(cuò),很強(qiáng)大,很好很簡(jiǎn)單的解決了好幾個(gè)問(wèn)題,界面友好度以及美化也好多了,以前都是硬邦邦window.open();
    2008-10-10
  • JavaScript中實(shí)現(xiàn)在光標(biāo)位置插入內(nèi)容的幾種方法

    JavaScript中實(shí)現(xiàn)在光標(biāo)位置插入內(nèi)容的幾種方法

    本文主要介紹了在網(wǎng)頁(yè)開(kāi)發(fā)中,如何使用JavaScript在文本輸入框或富文本編輯器的光標(biāo)位置插入內(nèi)容的實(shí)踐,包括獲取光標(biāo)位置的方法,創(chuàng)建文本節(jié)點(diǎn),操作Selection對(duì)象,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-10-10

最新評(píng)論

巩义市| 凌云县| 土默特右旗| 九江市| 来宾市| 贺州市| 汉源县| 青阳县| 西吉县| 泊头市| 焦作市| 桦甸市| 荥经县| 宜昌市| 海盐县| 丽江市| 土默特右旗| 武川县| 桐庐县| 台山市| 芜湖县| 定南县| 新丰县| 临沧市| 夹江县| 庄浪县| 合水县| 江达县| 正安县| 海南省| 鄂州市| 潮安县| 龙江县| 瓦房店市| 怀集县| 金川县| 龙川县| 长乐市| 分宜县| 华池县| 达拉特旗|