定义
一种以键-值对形式存储数据的数据结构。如:名字-电话号码,通过名字就能找到对应的电话号码,名字就是键(key),电话号就是值(value)。
字典中的键,是值在字典中的索引。
javascript
class Dictionary {
constructor() {
this.items = {}
}
// 添加一个存储键值对
set(key, value) {
this.items[key] = value
}
// 根据key返回一个item
get(key) {
return this.items.hasOwnProperty(key) ? this.items[key] : undefined
}
// 删除一个存储键值对
remove(key) {
if (this.items.hasOwnProperty(key)) {
delete this.items[key]
}
}
// 返回字典中 key
get keys() {
return Object.keys(this.items)
}
// 返回字典中 value
get values() {
return Object.keys(this.items).reduce((r, c, i) => {
r.push(this.items[c])
return r
}, [])
}
}
const dictionary = new Dictionary()
dictionary.set('zhangsan', 'zhangsan@email.com')
dictionary.set('lisi', 'lisi@email.com')
dictionary.set('zhaowu', 'zhaowu@email.com')
console.log(dictionary)
console.log(dictionary.keys)
console.log(dictionary.values)
console.log(dictionary.items)
console.log('------------------------')
dictionary.remove('zhaowu')
console.log(dictionary.get('zhaowu'))