Javascript实现的Map集合工具类完整实例
本文实例讲述了Javascript实现的Map集合工具类。分享给大家供大家参考。具体如下:
varMap=function(){
//构造entry实体
varEntry=function(key,value){
this.key=key;
this.value=value;
}
this.entries=newArray();
//构造put方法在数组中放入一个Entry
this.put=function(key,value){
//数组中已存在就不放入
for(vari=0;i<this.size();i++){
if(this.entries[i].key===key){
returnfalse;
}
}
this.entries.push(newEntry(key,value));
};
//模拟get方法
this.get=function(key){
for(vari=0;i<this.size();i++){
if(this.entries[i].key===key){
returnthis.entries[i].value;
}
}
returnnull;
};
//查找下标值
this.indexOf=function(key){
varindex=-1;
for(vari=0;i<this.size();i++){
if(this.entries[i].key===key){
index=i;
break;
}
}
returnindex;
}
//删除一个元素
this.remove=function(key){
varindex=this.indexOf(key);
if(index!=-1){
this.entries.splice(index,1);
}
}
//取得map长度
this.size=function(){
returnthis.entries.length;
};
//重新设置键值对
this.setValue=function(key,value){
varindex=this.indexOf(key);
if(index!=-1){
this.entries[i].value=value;
};
};
//是否为空map
this.isEmpty=function(){
returnthis.size()<=0;
};
//清空map;
this.clear=function(){
this.entries=[];
};
//得到entry实体
this.getEntry=function(index){
if(index>=0&&index<this.size()){
returnthis.entries[index];
}
returnnull;
}
this.toString=function(){
varstr="[";
for(vari=0;i<this.size();i++){
str+=this.getEntry(i).key+"="+this.getEntry(i).value+",";
}
//去除最后一个","
str=str.substring(0,str.length-1);
str+="]";
returnstr;
};
}
希望本文所述对大家的javascript程序设计有所帮助。