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

