一个js简单模拟Map结构

本文介绍了一个用JavaScript实现的简易Map结构,该结构支持基本的操作如put、get、remove等,并提供了额外的功能,例如判断是否包含特定的键或值、获取所有键或值的集合等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一个js简易模拟map结构,够用了。
<!--	var map=function(){	    this.maparr={};		this.arrlength=0;		//假如有重复key,则不存入	    this.put=function(key,value){		  if(!this.containskey(key)){		   this.maparr[key]=value;		   this.arrlength=this.arrlength+1;		  }		}		this.get=function(key){		  return this.maparr[key];		}		//传入的参数必须为map结构		this.putall=function(map){           if(map.ismap(map)){		       var innermap=this;		       map.each(function(key,value){			      innermap.put(key,value);			   })		   }else{		     alert("传入的非map结构");		   }		}		this.remove=function(key){              delete this.maparr[key];		      this.arrlength=this.arrlength-1;		}		this.size=function(){             return this.arrlength;		}		//判断是否包含key		this.containskey=function(key){			  return (key in this.maparr);		}		//判断是否包含value        this.containsvalue=function(value){              for(var p in this.maparr){			     if(this.maparr[p]==value){				    return true;				 }			  }			  return false;		}		//得到所有key 返回数组		this.keys=function(){		   var keysarr=[];		   for(var p in this.maparr){		     keysarr[keysarr.length]=p;		   }		   return keysarr;		}		//得到所有value 返回数组		this.values=function(){		  var valuesarr=[];		   for(var p in this.maparr){		     valuesarr[valuesarr.length]=this.maparr[p];		   }		   return valuesarr;		}				this.isempty=function(){		   if(this.size()==0){		     return false;		   }		   return true;		}		this.clear=function(){             this.maparr={};			 this.arrlength=0;		}		//循环		this.each=function(callback){	        for(var p in this.maparr){			 callback(p,this.maparr[p]);		   }		}        	}	//判断是否是map对象	map.ismap=function(map){	  return  (map instanceof map);	}	var map=new map();	map.put("afei",25);	map.put("yaoming",31);	map.put("pp",2);	map.put("bill","55");	map.remove("afei");    var map2=new map();	map2.put("003",333);	map2.put("004",444);	map.putall(map2);    map.each(function(key,value){	    alert(key+" : "+value);	})	 //-->     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值