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