0
点赞
收藏
分享

微信扫一扫

数据结构-字典

科牛 2021-09-24 阅读 66
一点点

字典

是一种用户可以访问的记录数据库和应用程序元数据的目录。

字典类似于你通过联系人名字查找地址和联系人详细情况的地址簿,即,我们把键(名字)和值(详细情况)联系在一起。注意,键必须是唯一的,就像如果有两个人恰巧同名的话,你无法找到正确的信息。

字典和对象

  • 很多编程语言(比如Java)中对字典和对象区分比较明显, 对象通常是一种在编译期就确定下来的结构, 不可以动态的添加或者删除属性. 而字典通常会使用类似于哈希表的数据结构去实现一种可以动态的添加数据的结构.

  • 在JavaScript中, 似乎对象本身就是一种字典. 所有在早期的JavaScript中, 没有字典这种数据类型, 因为你完全可以使用对象去代替.

    // 创建字典的构造函数
    function Dictionay() {
        // 字典属性
        this.items = {}

        // 字典操作方法
        // 在字典中添加键值对
        Dictionay.prototype.set = function (key, value) {
            this.items[key] = value
        }

        // 判断字典中是否有某个key
        Dictionay.prototype.has = function (key) {
            return this.items.hasOwnProperty(key)
        }

        // 从字典中移除元素
        Dictionay.prototype.remove = function (key) {
            // 1.判断字典中是否有这个key
            if (!this.has(key)) return false

            // 2.从字典中删除key
            delete this.items[key]
            return true
        }

        // 根据key去获取value
        Dictionay.prototype.get = function (key) {
            return this.has(key) ? this.items[key] : undefined
        }

        // 获取所有的keys
        Dictionay.prototype.keys = function () {
            return Object.keys(this.items)
        }

        // 获取所有的value
        Dictionay.prototype.values = function () {
            return Object.values(this.items)
        }

        // size方法
        Dictionay.prototype.size = function () {
            return this.keys().length
        }

        // clear方法
        Dictionay.prototype.clear = function () {
            this.items = {}
        }
    }

举报

相关推荐

0 条评论