JS 数据结构 - 字典
字典
也称映射,符号表和关联数组。常用于保存对应引用地址。
在字典中存储的是键值对 key: value
。
其中,键(key)是对外展示的用于获取值(value)的。
一个字典应该有:
- 增加键值对
- 删除键值对
- 查询键存在
- 获取键值
- 清空字典
- 获取字典大小
- 查看字典是否为空
// 这是使用数组实现的简单字典
class Dictionary<K, V> {
keyList: K[]
valueList: V[]
constructor () {
this.keyList = []
this.valueList = []
}
get (key: K): V {
for (let i = 0; i < this.keyList.length; i++) {
if (this.keyList[i] === key) return this.valueList[i]
}
return undefined as V
}
set (key: K, value: V): boolean {
if (this.hasKey(key)) return false
this.keyList.push(key)
this.valueList.push(value)
return true
}
remove (key: K): boolean {
if (this.hasKey(key)) {
for (let i = 0; i < this.keyList.length; i++) {
if (this.keyList[i] === key) {
this.keyList.splice(i, 1)
this.valueList.splice(i, 1)
return true
}
}
}
return false
}
isEmpty (): boolean {
return !!this.keyList.length
}
clear (): void {
this.keyList.length = 0
this.valueList.length = 0
}
size (): number {
return this.keyList.length
}
hasKey (key: K): boolean {
return this.keyList.includes(key)
}
}
JS 数据结构 - 字典
http://localhost:8080/archives/ce3c5722-8836-4383-8591-95c43c7390df