這篇文章主要介紹了JS自定義對(duì)象實(shí)現(xiàn)Java中Map對(duì)象功能的方法,可實(shí)現(xiàn)類(lèi)似Java中Map對(duì)象增刪改查等功能,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了JS自定義對(duì)象實(shí)現(xiàn)Java中Map對(duì)象功能的方法。分享給大家供大家參考。具體分析如下:
Java中有集合,Map等對(duì)象存儲(chǔ)工具類(lèi),這些對(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類(lèi)型,和Java一樣,你可以進(jìn)行一些增加,刪除,修改,獲得的操作。
使用很簡(jiǎn)單,我先把工具類(lèi)給大家看下:
代碼如下:
/**
* @version 1.0
* 用于實(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ì)覆蓋前面的!
其他方法大家自己寫(xiě)寫(xiě)看!
希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄