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','[email protected]');
dictionary.set('john','[email protected]');
dictionary.set('tyrion','[email protected]');
//调用
console.log(dictionary.size());
console.log(dictionary.values());
console.log(dictionary.get('tyrion'));

/*运行结果:
* 	3
*	[ '[email protected]', '[email protected]', '[email protected]' ]
*	[email protected]
*/

你可能感兴趣的:(javascript数据结构)