js数据结构与算法 --- 字典

(一)字典的主要操作

js数据结构与算法 --- 字典_第1张图片

字典的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']
}

 

 

你可能感兴趣的:(js数据结构和算法)