国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Javacript中自定義的map.js 的方法

2019-11-19 14:51:57
字體:
供稿:網(wǎng)友

 js中沒有map這個類,只能自己寫一個。以下map.js和map-util.js都是自定義的map,任選其一就可以。你可以用它來像java里new Map()和put()、remove()、get()等方法。

map.js:

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;   }   

map-util.js:

function Map() {   this.elements = new Array();   var i;   //獲取MAP元素個數(shù)   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     });   };   this.putFirst = function(_key, _value){     var tempList = this.elements;     this.elements = new Array();     this.elements.push( {       key : _key,       value : _value     });     for(var i=0;i<tempList.length;i++){       this.elements.push(         tempList[i]       );     }   }   //刪除指定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) {     var bln = 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的數(shù)組(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的數(shù)組(ARRAY)   this.keys = function() {     var arr = new Array();     for (i = 0; i < this.elements.length; i++) {       arr.push(this.elements[i].key);     }     return arr;   }; } 

總結

以上所述是小編給大家介紹的 Javacript中自定義的map.js  的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 灵台县| 广元市| 电白县| 波密县| 高淳县| 商洛市| 双牌县| 潞城市| 招远市| 五华县| 乐山市| 无棣县| 龙川县| 简阳市| 万州区| 汝城县| 永新县| 新昌县| 沙河市| 潼南县| 安图县| 遵化市| 南雄市| 江川县| 碌曲县| 嵊泗县| 鄂托克旗| 横山县| 大余县| 明光市| 高青县| 山西省| 冷水江市| 名山县| 龙江县| 华坪县| 聂拉木县| 德钦县| 浙江省| 竹溪县| 眉山市|