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一樣,你可以進(jìn)行一些增加,刪除,修改,獲得的操作。
使用很簡單,我先把工具類給大家看下:
/** * @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-06js鼠標(biāo)點擊事件在各個瀏覽器中的寫法及Event對象屬性介紹
各個主流瀏覽器德鼠標(biāo)點擊事件,方便使用時查詢,整理還算是很詳細(xì)吧,感興趣的你可以參考下啊,希望本文對你有所幫助2013-01-01javascript基礎(chǔ)知識分享之類與函數(shù)化
在C++中是以class來聲明一個類的,JavaScript與C++不同,它使用了與函數(shù)一樣的function來聲明,這就讓許多學(xué)Jscript的朋友把類與函數(shù)混在一起了,在Jscript中函數(shù)與類確實有些混,但使用久了自然會理解,這篇文章是針對想進(jìn)攻面向?qū)ο缶幊痰呐笥讯鴮?就不打算討論得太深了2016-02-02