(一)字典的主要操作
字典的key是不能重复的 value是可以重复的,重复后面的会覆盖前面的
(二)代码实现
class Dictionary { constructor () { this.items = {} // 存储字典key value } // 是否有key has (key) { return this.items.hasOwnProperty(key) // 对象是否有某个key // return key in items 另一种方法 } // 设置key value set (key, value) { this.items[key] = value } // 删除key delete (key) { if (this.has(key)) { delete this.items[key] return true } return false } // 获取key get(key) { if (this.has(key)) { return this.items[key] } return undefined } // 获取字典 getItems () { return this.items } } var dictionary = new Dictionary() dictionary.set('name', 'zhou') dictionary.set('age', 23) console.log(dictionary.has('name')) // true console.log(dictionary.get('age')) // 23 dictionary.delete('age') console.log(dictionary.has('age')) // false console.log(dictionary.getItems())js中Object类型参考了字典的实现
获取全部键名
getKeys() { return Object.keys(this.items) // ['name'] }删除对象某一个值:
var hashMap = { 1 : 1, 2: 2 } console.log(hashMap) // { 1: 1, 2: 2 } delete hashMap[1] console.log(hashMap) // {2: 2} console.log(hashMap[1]) // undefineddelete 方法!!
