字典,我们使用[键,值] 的形式来存储数据。
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
*/