字典是一种存储键值对的数据结构,例如电话本,我们通常用人名来查询电话号码,这里的人名就是键,电话号码就是对应的值。
Javascript中的Object类内部即实现为一个字典,注意和Java类似,js中所有的事物都是Object,可以认为继承了Object的特性。js的Array支持字符下标[ ]查询。
Dictionary的js实现
function Dictionary() {
this.data = new Array();
}
function add(key, value) {
this.data[key] = value;
}
function find(key) {
return this.data[key];
}
function remove(key) {
delete this.data[key];
}
function showAll() {
// 使用Object.keys获取所有, sort排序
for each(var key in Object.keys(this.data).sort()) {
print(key + " -> " + this.data[k]
}
}
function count() {
return this.data.length;
}
function clear() {
for each(var key in Object.keys(this.data)) {
delete this.data[key];
}
}
用法举例
var pbook = new Dictionary();
pbook.add("Raymond","123");
pbook.add("David", "345");
pbook.add("Cynthia", "456");
“pbook.add("Mike", "723");
pbook.add("Jennifer", "987");
pbook.add("Danny", "012");
pbook.add("Jonathan", "666");
pbook.showAll();
js的数组Array的内部实现即为字典。