通俗地說,字典就是鍵值對[鍵,值],是鍵到值的映射關係。javascript
set(key,value):向字典中添加新元素。java
remove(key):經過使用鍵值來從字典中移除鍵值對應的數據值。數組
has(key):若是某個鍵值存在於這個字典中,則返回true,反之則返回false。this
get(key):經過鍵值查找特定的數值並返回。code
clear():將這個字典中的全部元素所有刪除。ip
size():返回字典所包含元素的數量。與數組的length屬性相似。原型鏈
keys():將字典所包含的全部鍵名以數組形式返回。rem
values():將字典所包含的全部數值以數組形式返回。get
function Dictionary() { // items做爲私有變量,是字典的載體 var items = {}; // has方法,若是某個鍵值存在於這個字典中,則返回true,反之則返回false this.has = function (key) { return key in items; }; // set方法,向字典中添加新元素 this.set = function (key, value) { items[key] = value; }; // remove方法,經過使用鍵值來從字典中移除鍵值對應的數據值 this.remove = function(key) { if (this.has(key)) { delete items[key]; return true; } return false; }; // get方法,經過鍵值查找特定的數值並返回 this.get = function(key) { return this.has(key) ? items[key] : undefined; }; // clear方法,將這個字典中的全部元素所有刪除 this.clear = function(){ // 清空字典列表 items = {}; }; // size方法,返回字典所包含元素的數量。與數組的length屬性相似 this.size = function(){ // Object.keys不會遍歷原型鏈上的屬性 return Object.keys(items).length; }; // keys方法,將字典所包含的全部鍵名以數組形式返回 this.size = function(){ return Object.keys(items); }; // values方法,將字典所包含的全部數值以數組形式返回 this.values = function() { var values = {}; for (var k in items) { // 用has方法判斷,避免遍歷到原型鏈上的屬性 if (this.has(k)) { values.push(items[k]); } } return values; }; }