字典是一種存儲鍵值對的數(shù)據(jù)結(jié)構,例如電話本,我們通常用人名來查詢電話號碼,這里的人名就是鍵,電話號碼就是對應的值。
Javascript中的Object類內(nèi)部即實現(xiàn)為一個字典,注意和Java類似,js中所有的事物都是Object,可以認為繼承了Object的特性。js的Array支持字符下標[ ]查詢。
Dictionary的js實現(xiàn)
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的數(shù)組Array的內(nèi)部實現(xiàn)即為字典。