javascript 自定義對象實現Java中的Map對象功能
Java中有集合,Map等對象存儲工具類,這些對象使用簡易,但是在JavaScript中,你只能使用Array對象。
這里我創建一個自定義對象,這個對象內包含一個數組來存儲數據,數據對象是一個Key,可以實際存儲的內容! 
這里Key,你要使用String類型,和Java一樣,你可以進行一些增加,刪除,修改,獲得的操作。
使用很簡單,我先把工具類給大家看下:
/**  * @version 1.0  * @author cuisuqiang@163.com  * 用于實現頁面 Map 對象,Key只能是String,對象隨意  */ var Map = function(){  this._entrys = new Array();    this.put = function(key, value){   if (key == null || key == undefined) {    return;   }   var index = this._getIndex(key);   if (index == -1) {    var entry = new Object();    entry.key = key;    entry.value = value;    this._entrys[this._entrys.length] = entry;   }else{    this._entrys[index].value = value;   }    };  this.get = function(key){   var index = this._getIndex(key);   return (index != -1) ? this._entrys[index].value : null;  };  this.remove = function(key){   var index = this._getIndex(key);   if (index != -1) {    this._entrys.splice(index, 1);   }  };  this.clear = function(){   this._entrys.length = 0;;  };  this.contains = function(key){   var index = this._getIndex(key);   return (index != -1) ? true : false;  };  this.getCount = function(){   return this._entrys.length;  };  this.getEntrys = function(){   return this._entrys;  };  this._getIndex = function(key){   if (key == null || key == undefined) {    return -1;   }   var _length = this._entrys.length;   for (var i = 0; i < _length; i++) {    var entry = this._entrys[i];    if (entry == null || entry == undefined) {     continue;    }    if (entry.key === key) {//equal     return i;    }   }   return -1;  }; }  如果你不懂Js中對象的創建等一些基礎知識,自己可以網上查一下。
// 自定義Map對象 var map = new Map(); map.put("a","a"); alert(map.get("a")); map.put("a","b"); alert(map.get("a"));  先彈出 a 后面彈出 b ,因為后面的會覆蓋前面的!
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答