javascript 实现的类似于java里的Map对象

王朝java/jsp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

一直想做一个自己的ajax框架,所以要给自己的javascript要恶补一下。

最近在看javascript权威指南第四版,有10000多页,象字典一样。不过确实够权威的。

javascript的提供的对象比较少,不象java一样,有List,ArrayList,Map,HashMap等各种数据对象。于是就利用javascript的对象技术,封装了一个类似于java里的Map 对象

//自定义的Map 对象

function Map(){

this.elements=new Array();

this.size=function(){

return this.elements.length;

}

this.put=function(_key,_value){

this.elements.push({key:_key,value:_value});

}

this.remove=function(_key){

var bln=false;

try{

for (i=0;i<this.elements.length;i++){

if (this.elements[i].key==_key){

this.elements.splice(i,1);

return true;

}

}

}catch(e){

bln=false;

}

return bln;

}

this.containsKey=function(_key){

var bln=false;

try{

for (i=0;i<this.elements.length;i++){

if (this.elements[i].key==_key){

bln=true;

}

}

}catch(e){

bln=false;

}

return bln;

}

this.get=function(_key){

try{

for (i=0;i<this.elements.length;i++){

if (this.elements[i].key==_key){

return this.elements[i];

}

}

}catch(e){

return null;

}

}

}

//测试Map的调用方法

function testMap(){

var testmap=new Map();

testmap.put("01","michael");

testmap.put("02","michael2");

alert (testmap.size());

var key="02"

if (testmap.containsKey(key)){

var element=testmap.get(key);

alert (element.key+"|"+element.value);

}else{

alert ("不包含"+key);

}

testmap.remove("02");

if (testmap.containsKey(key)){

var element=testmap.get(key);

alert (element.key+"|"+element.value);

}else{

alert ("不包含"+key);

}

}

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航