(一)字典的主要操作
字典的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]) // undefined
delete 方法!!