JS实现Map,利用JS原生特性(上一篇是仿Java)

本文介绍了一种使用JavaScript实现自定义Map的方法。该Map支持基本的增删查操作,并实现了覆盖已有键值对的功能。此外,还展示了如何通过putAll方法批量添加键值对以及如何遍历所有条目。
var Map = function(){
   var data = {};
   var length = 0;
   this.put = function(key,value){
      if(!this.containsKey(key)){
	     length++;
	  }
      data[key] = value;
   };
   this.size = function(){
     return length;
   };
   this.get = function(key){
     return data[key];
   };
   this.containsKey = function(key){
      if(data[key]){
	     return true;
	  }
	  return false;
   };
   this.putAll = function(map){
      for(var i in map){
	      this.put(i,map[i]);
	  }
   };
   this.entrySet = function(){
      return data;
   }
}
var map = new Map();
map.put('key1','value1');
map.put('key2','value2');
map.put('key2','value3');
map.putAll({'key3':'value333'});

var entry = map.entrySet();
for(var i in entry){
   alert(i+":"+entry[i]);
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值