1. 程式人生 > 其它 >資料結構-javascript實現【字典】

資料結構-javascript實現【字典】

字典:用【鍵,值】的形式來儲存資料,鍵名用來查詢特定元素。

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