javascript實現(xiàn)Java中的Map對象功能的實例詳解
javascript 自定義對象實現(xiàn)Java中的Map對象功能
Java中有集合,Map等對象存儲工具類,這些對象使用簡易,但是在JavaScript中,你只能使用Array對象。
這里我創(chuàng)建一個自定義對象,這個對象內(nèi)包含一個數(shù)組來存儲數(shù)據(jù),數(shù)據(jù)對象是一個Key,可以實際存儲的內(nèi)容!
這里Key,你要使用String類型,和Java一樣,你可以進行一些增加,刪除,修改,獲得的操作。
使用很簡單,我先把工具類給大家看下:
/**
* @version 1.0
* @author cuisuqiang@163.com
* 用于實現(xiàn)頁面 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中對象的創(chuàng)建等一些基礎(chǔ)知識,自己可以網(wǎng)上查一下。
// 自定義Map對象
var map = new Map();
map.put("a","a");
alert(map.get("a"));
map.put("a","b");
alert(map.get("a"));
先彈出 a 后面彈出 b ,因為后面的會覆蓋前面的!
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
JS不用正則驗證輸入的字符串是否為空(包含空格)的實現(xiàn)代碼
下面小編就為大家?guī)硪黄狫S不用正則驗證輸入的字符串是否為空(包含空格)的實現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-06
js鼠標點擊事件在各個瀏覽器中的寫法及Event對象屬性介紹
各個主流瀏覽器德鼠標點擊事件,方便使用時查詢,整理還算是很詳細吧,感興趣的你可以參考下啊,希望本文對你有所幫助2013-01-01
javascript基礎(chǔ)知識分享之類與函數(shù)化
在C++中是以class來聲明一個類的,JavaScript與C++不同,它使用了與函數(shù)一樣的function來聲明,這就讓許多學Jscript的朋友把類與函數(shù)混在一起了,在Jscript中函數(shù)與類確實有些混,但使用久了自然會理解,這篇文章是針對想進攻面向?qū)ο缶幊痰呐笥讯鴮?就不打算討論得太深了2016-02-02

