JS自定義對象實現(xiàn)Java中Map對象功能的方法
本文實例講述了JS自定義對象實現(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
* 用于實現(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)上查一下。
var map = new Map();
map.put("a","a");
alert(map.get("a"));
map.put("a","b");
alert(map.get("a"));
先彈出 a 后面彈出 b ,因為后面的會覆蓋前面的!
其他方法大家自己寫寫看!
希望本文所述對大家的javascript程序設(shè)計有所幫助。
相關(guān)文章
JS獲取多維數(shù)組中相同鍵的值實現(xiàn)方法示例
這篇文章主要介紹了JS獲取多維數(shù)組中相同鍵的值實現(xiàn)方法,結(jié)合實例形式分析了JS數(shù)組遍歷、判斷、鍵值獲取等操作技巧,需要的朋友可以參考下2017-01-01JavaScript利用canvas實現(xiàn)鼠標(biāo)跟隨特效
canvas是一個很神奇的玩意兒,比如畫表格、畫海報圖都要用canvas去做。本文就來利用canvas制作個簡單的鼠標(biāo)跟隨特效,快跟隨小編一起學(xué)習(xí)一下吧2022-10-10簡介EasyUI datagrid editor combogrid搜索框的實現(xiàn)
這篇文章主要介紹了EasyUI datagrid editor combogrid搜索框的實現(xiàn),涉及到EasyUI中combogrid的使用方法的相關(guān)知識,非常具有參考價值,需要的朋友可以參考下2016-04-04JavaScript Event學(xué)習(xí)第十章 一些可替換的事件對
為了讓我們的JavaScript驅(qū)動的頁面對那些不能或者不想使用鼠標(biāo)的用戶也能很好的使用,我們對于像mouseover和click這樣的事件做一些處理,同樣的,對于非鼠標(biāo)事件也同樣的要我們的腳本執(zhí)行。2010-02-02TypeScript?Pinia實戰(zhàn)分享(Vuex和Pinia對比梳理總結(jié))
這篇文章主要介紹了TypeScript?Pinia實戰(zhàn)分享(Vuex和Pinia對比梳理總結(jié)),今天我們再來實戰(zhàn)下官方推薦的新的vue狀態(tài)管理工具Pini,感興趣的小伙伴可以參考一下2022-06-06