JavaScript中的hashmap

在刷题的过程中题解提到了使用hashmap解决数字之和问题,兴趣使然找了一些hashmap的资料,整理在我的第一篇博客中。
hashmap的概念在后续博客中会仔细写到,当前就看看如何在JavaScript中实现hashmap吧。

function HashMap(){
	//定义长度
	var length=0;
	//创建一个对象
	var obj=new Object();

	//判断Map是否为空
	this.isEmpty=function(){
		return length==0;
	}

	//判断对象中是否包含给定Key
	this.containsKey=function(key){
		return (key in obj);
	}

	//判断对象中是否包含给定的Value
	this.containsValue=function(value){
		for(var key in obj){
			if(obj[key]==value){
				return true; 
			}
		}
		return false;
	}

	//向map中添加数据
	this.put=function(key,value){
		if(!this.containsKey(key)){
			length++;
		}
		obj[key]=value;
	}

	//根据给定的key获取Value
	this.get=function(key){
		return this.containsKey(key)?obj[key]:null;
	}

	//根据给定的Key删除一个值
	this.remove=function(key){
		if(this.containsKey(key)&&(delete obj[key])){
			length--;
		}
	}

	//获得Map中所有的value
	this.values=function(){
		var _values=new Array();
		for(var key in obj){
			_values.push(obj[key]);
		}
		return _values;
	}

	//获得Map中的所有key
	this.keySet=function(){
		var _keys=new Array();
		for(var key in obj){
			_keys.push(key);
		}
		return _keys;
	}

	//获得Map的长度
	this.size=function(){
		return length;
	}

	//清空Map
	this.clear=function(){
		length=0;
		obj=new Object();
	}
	
}

拷贝博客连接
此博客仅供自己记录学习

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值