資料結構-javascript實現【字典】
阿新 • • 發佈:2021-12-02
字典:用【鍵,值】的形式來儲存資料,鍵名用來查詢特定元素。
1.字典所使用的的方法
set(key, value): 向字典中新增元素
remove(key): 移除某個元素
has(key): 檢查是否存在某個元素
get(key): 通過鍵值查詢某個元素
clear(): 清除字典中的全部元素
size(): 返回字典中所包含元素的數量
keys(): 將字典中所包含的所有鍵名以陣列返回
values(): 將字典中所包含的所有數值以陣列返回
2. 字典的實現
class Dictionary { constructor(){ this.items = {}; } has(key) {return this.items.hasOwnProperty(key); } set(key, value) { this.items[key] = value; } remove(key) { if(this.has(key)){ delete this.items[key]; return true; } return false; } get(key) { return this.has(key)? this.items[key] : undefined; } keys() {return Object.keys(this.items); } values() { return Object.values(this.items); } clear() { this.items = {}; } size() { return Object.keys(this.items).length; } getItems() { return this.items; } } const dictionary = new Dictionary(); dictionary.set('lucy', '[email protected]'); dictionary.set('jack', '[email protected]'); dictionary.set('mike', '[email protected]'); console.log(dictionary.size()); // 3 console.log(dictionary.has('lucy')); // true console.log(dictionary.get('jack')); // '[email protected]' console.log(dictionary.keys()); // ['lucy', 'jack', 'mike'] console.log(dictionary.values());// ['[email protected]', '[email protected]', '[email protected]'] dictionary.remove('lucy'); console.log(dictionary.has('lucy')); // false