js-实现字典(键值存储)

字典,我们使用[键,值] 的形式来存储数据。

js代码如下 :

function Dictionary(){//字典类
	var items={};//存储在一个Object的实例中
	
	this.has=function(key){//验证一个key是否是items对象的一个属性
		return key in items;
	};
	this.set=function(key,value){//设置属性
		items[key]=value;
	};
	this.remove=function(key){//移除key属性
		if(this.has(key)){
			delete items[key];
			return true;
		}
		return false;
	};
	this.get=function(key){//查找特定属性
		return this.has(key) ? items[key]:undefined;
	};
	this.values=function(){//返回所有value实例的值
		var values=new Array();//存到数组中返回
		for(var k in items){
			if(this.has(k)){
				values.push(items[k]);
			}
		}
		return values;
	};
	this.getItems=function(){//获取
		return items;
	};
	this.clear = function () {//清除
		items = {};
	};
	this.size = function () {//获取属性的多少
		return Object.keys(items).length;
	};
}
var dictionary= new Dictionary();//new一个对象
//设置属性
dictionary.set('gandalf','gandalf@email.com');
dictionary.set('john','johnsnow@email.com');
dictionary.set('tyrion','tyrion@email.com');
//调用
console.log(dictionary.size());
console.log(dictionary.values());
console.log(dictionary.get('tyrion'));

/*运行结果:
* <span style="white-space:pre">	</span>3
*<span style="white-space:pre">	</span>[ 'gandalf@email.com', 'johnsnow@email.com', 'tyrion@email.com' ]
*<span style="white-space:pre">	</span>tyrion@email.com
*/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值