日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

JavaScript创建Map对象(转)

發布時間:2025/7/14 javascript 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaScript创建Map对象(转) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScript 里面本身沒有map對象,用JavaScript的Array來實現Map的數據結構。

?

Js代碼??
  • /*???
  • ?*?MAP對象,實現MAP功能???
  • ?*???
  • ?*?接口:???
  • ?*?size()?????獲取MAP元素個數???
  • ?*?isEmpty()????判斷MAP是否為空???
  • ?*?clear()?????刪除MAP所有元素???
  • ?*?put(key,?value)???向MAP中增加元素(key,?value)????
  • ?*?remove(key)????刪除指定KEY的元素,成功返回True,失敗返回False???
  • ?*?get(key)????獲取指定KEY的元素值VALUE,失敗返回NULL???
  • ?*?element(index)???獲取指定索引的元素(使用element.key,element.value獲取KEY和VALUE),失敗返回NULL???
  • ?*?containsKey(key)??判斷MAP中是否含有指定KEY的元素???
  • ?*?containsValue(value)?判斷MAP中是否含有指定VALUE的元素???
  • ?*?values()????獲取MAP中所有VALUE的數組(ARRAY)???
  • ?*?keys()?????獲取MAP中所有KEY的數組(ARRAY)???
  • ?*???
  • ?*?例子:???
  • ?*?var?map?=?new?Map();???
  • ?*???
  • ?*?map.put("key",?"value");???
  • ?*?var?val?=?map.get("key")???
  • ?*?……???
  • ?*???
  • ?*/?????
  • function?Map()?{?????
  • ????this.elements?=?new?Array();?????
  • ???????
  • ????//獲取MAP元素個數?????
  • ????this.size?=?function()?{?????
  • ????????return?this.elements.length;?????
  • ????}?????
  • ???????
  • ????//判斷MAP是否為空?????
  • ????this.isEmpty?=?function()?{?????
  • ????????return(this.elements.length?<?1);?????
  • ????}?????
  • ???????
  • ????//刪除MAP所有元素?????
  • ????this.clear?=?function()?{?????
  • ????????this.elements?=?new?Array();?????
  • ????}?????
  • ???????
  • ????//向MAP中增加元素(key,?value)??????
  • ????this.put?=?function(_key,?_value)?{?????
  • ????????this.elements.push(?{?????
  • ????????????key?:?_key,?????
  • ????????????value?:?_value?????
  • ????????});?????
  • ????}?????
  • ???????
  • ????//刪除指定KEY的元素,成功返回True,失敗返回False?????
  • ????this.remove?=?function(_key)?{?????
  • ????????var?bln?=?false;?????
  • ????????try{?????
  • ????????????for(i?=?0;?i?<?this.elements.length;?i++)?{?????
  • ????????????????if(this.elements[i].key?==?_key)?{?????
  • ????????????????????this.elements.splice(i,?1);?????
  • ????????????????????return?true;?????
  • ????????????????}?????
  • ????????????}?????
  • ????????}?catch(e)?{?????
  • ????????????bln?=?false;?????
  • ????????}?????
  • ????????return?bln;?????
  • ????}?????
  • ???????
  • ????//獲取指定KEY的元素值VALUE,失敗返回NULL?????
  • ????this.get?=?function(_key)?{?????
  • ????????try{?????
  • ????????????for(i?=?0;?i?<?this.elements.length;?i++)?{?????
  • ????????????????if(this.elements[i].key?==?_key)?{?????
  • ????????????????????return?this.elements[i].value;?????
  • ????????????????}?????
  • ????????????}?????
  • ????????}?catch(e)?{?????
  • ????????????return?null;?????
  • ????????}?????
  • ????}?????
  • ???????
  • ????//獲取指定索引的元素(使用element.key,element.value獲取KEY和VALUE),失敗返回NULL?????
  • ????this.element?=?function(_index)?{?????
  • ????????if(_index?<?0?||?_index?>=?this.elements.length)?{?????
  • ????????????return?null;?????
  • ????????}?????
  • ????????return?this.elements[_index];?????
  • ????}?????
  • ???????
  • ????//判斷MAP中是否含有指定KEY的元素?????
  • ????this.containsKey?=?function(_key)?{?????
  • ????????varbln?=?false;?????
  • ????????try{?????
  • ????????????for(i?=?0;?i?<?this.elements.length;?i++)?{?????
  • ????????????????if(this.elements[i].key?==?_key)?{?????
  • ????????????????????bln?=?true;?????
  • ????????????????}?????
  • ????????????}?????
  • ????????}?catch(e)?{?????
  • ????????????bln?=?false;?????
  • ????????}?????
  • ????????return?bln;?????
  • ????}?????
  • ???????
  • ????//判斷MAP中是否含有指定VALUE的元素?????
  • ????this.containsValue?=?function(_value)?{?????
  • ????????var?bln?=?false;?????
  • ????????try{?????
  • ????????????for(i?=?0;?i?<?this.elements.length;?i++)?{?????
  • ????????????????if(this.elements[i].value?==?_value)?{?????
  • ????????????????????bln?=?true;?????
  • ????????????????}?????
  • ????????????}?????
  • ????????}?catch(e)?{?????
  • ????????????bln?=?false;?????
  • ????????}?????
  • ????????return?bln;?????
  • ????}?????
  • ???????
  • ????//獲取MAP中所有VALUE的數組(ARRAY)?????
  • ????this.values?=?function()?{?????
  • ????????var?arr?=?new?Array();?????
  • ????????for(i?=?0;?i?<?this.elements.length;?i++)?{?????
  • ????????????arr.push(this.elements[i].value);?????
  • ????????}?????
  • ????????return?arr;?????
  • ????}?????
  • ???????
  • ????//獲取MAP中所有KEY的數組(ARRAY)?????
  • ????this.keys?=?function()?{?????
  • ????????var?arr?=?new?Array();?????
  • ????????for(i?=?0;?i?<?this.elements.length;?i++)?{?????
  • ????????????arr.push(this.elements[i].key);?????
  • ????????}?????
  • ????????return?arr;?????
  • ????}?????
  • }?????
  • ??
  • ??var?map?=?new?Map();????
  • ?????
  • ??map.put("key1",?"value1");????
  • ??map.put("key2",?"value2");????
  • ??map.put("key3",?"value3");????
  • ??
  • ????
  • ??//var?val?=?map.get("key1");??
  • //??var?val?=?map.containsKey("key1");??
  • //??var?val?=?map.element(2).value;??
  • ??
  • ????var?arr=map.keys();??
  • ????for(var?i=0;i<arr.length;i++){??
  • ????????alert(map.get(arr[i]));??
  • ????}??
  • //??alert(val);??
  • 轉載于:https://www.cnblogs.com/ranzige/p/3830077.html

    總結

    以上是生活随笔為你收集整理的JavaScript创建Map对象(转)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。