js模仿hashmap

1 感想     

    javascript作为一种弱类型的语言,我们在开发时又喜欢又憎恨,一般作为开发java的我们来说,如果总是用面向对象的开发方法去学习,结果看来这并不是一个太好的方法,而当我们用JavaScript去模仿对象时,这对你的学习会起到很大的效果。这篇文章是用JavaScript去模仿java中生成一个map,也有参考别人的地方,希望大家有更好的方法能共享起来。

 

2 实践

 

function hashmap(){
				var size = 0;
				var entry = {};
				this.put = function(key,value){
					if(!this.containKey(key)){
						entry[key] = value;
						size++;
						return true;
					}else{
						return false;
					}
				},
				this.get=function(key){
					if(this.containKey(key)){
						return entry[key];
					}
				},
				this.containKey = function(key){
					return (key in entry);
				},
				this.containValue = function(value){
					for( var i in entry){
						if(entry[i] == value ){
							return true;
						}
					}
					return false;
				},
				this.clear = function(){
				   this.size =0;
				   this.entry = {};
				},
				this.size = function (){
				 	return size;
				},
				this.keysByArray = function(){
					var keys = [];
					for(var keyIndex in entry){
						keys.push(keyIndex);
					}
					return keys;
				},
				this.keysByString = function(){
					var keys = [];
					for(var keyIndex in entry){
						keys.push(keyIndex);
					}
					return keys.join();
				},
				this.valuesByArray = function(){
					var values = [];
					for(var valueIndex in entry){
						values.push(entry[valueIndex]);
					}
					return values;
				},
				this.valuesByString = function(){
					var values = [];
					for(var valueIndex in entry){
						values.push(entry[valueIndex]);
					}
					return values.join();
				},
				this.remove = function(key){
						if(this.containKey(key)){
							delete entry[key];
							size--;
						}
				}
			}
			

 

3  希望起到抛砖引玉的效果

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值