资讯专栏INFORMATION COLUMN

非顺序数据结构——字典

chavesgu / 2085人阅读

摘要:作用通过键值对来存储不重复的值的,与集合相比,集合是通过值值来存储不重复的值字典所需功能跟据传入的值向字典中添加元素通过移除字典中对应的值通过某个键来判断是否含有某个值通过给定的键查找到特定的值并返回将字典置为空获取字典的容量获取字典

作用

通过键值(key-value)对来存储不重复的值的,与集合相比,集合是通过值值(value-value)来存储不重复的值

字典所需功能

跟据传入的key-value值向字典中添加元素

通过key移除字典中对应的值

通过某个键来判断是否含有某个值

通过给定的键查找到特定的值并返回

将字典置为空

获取字典的容量

获取字典所包含的所有键,并以数组的形式返回

获取字典所包含的所有值,并以数组的形式返回

代码实现过程
/**
 - dictionary constructor
 */
function Dictionary(){
    let items = {};
    
    /**
     * 设置key和对应的值
     * @param {*键} key 
     * @param {*值} value 
     */
    this.set = function(key, value){
    }

    /**
     * 删除key对应的value值
     * @param {*键} key  
     */
    this.remove = function(key){
        
    }

    /**
     * 判断是否含有某个键
     * @param {*键} key  
     */
    this.has = function(key){

    }

    /**
     * 获取指定键对应的值
     * @param {*键} key  
     */
    this.get = function(key){

    }

    /**
     * 清除字典 
     */
    this.clear = function(){

    }

    /**
     * 获取字典的容量
     */
    this.size = function(){

    }

    /**
     * 获取字典中所有的键名,以数组的形式返回
     */
    this.keys = function(){

    }

    /**
     * 获取字典中所有的值,以数组的形式返回
     */
    this.values = function(){

    }
    
    /**
     * 得到整个item
     */
    this.getItems = function(){

    }
}

this.set函数:为字典添加元素

    this.set = function(key, value){
         items[key] = value;
    }

this.has函数:判断字典是否有某个指定的键

    this.has = function(key){
       return key in items;
    }

this.remove函数:删除字典中指定的键

    this.remove = function(key){
        if(this.has(key)){
           delete items[key];
           return true;
        }
        return false;
    }

this.get函数:获取指定键的值

    this.get = function(key){
        return this.has(key) ? items[key] : undefined;
    }

this.clear函数:清除字典

    this.clear = function(){
        items = {}
    }

this.key函数:获取字典中所有的键并以数组的形式返回

    this.keys = function(){
        let keys = [];
        for(key in items){
            keys.push(key);
        }
        return keys;
    }

this.size:获取字典的大小

    this.size = function(){
        return this.keys.length;
    }

this.values:获取字典中所有的值并以数组的形式返回

    this.values = function(){
        const values = [];
        for(key in items){
            values.push(items[keys]);
        }
        return values;
    }
测试
const dic = new Dictionary();
dic.set("name","liumin");
dic.set("age","12");
dic.set("sex","femaile");
console.log(dic.keys());
console.log(dic.values());
console.log(dic.size());
console.log(dic.has("name"));

打印结果:

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/92041.html

相关文章

  • Python标准库---15、内置类型:集合类型、映射类型

    摘要:目前有两种内置集合类型,和。两个类的构造器具有相同的作用方式返回一个新的或对象,其元素来自于。要表示由集合对象构成的集合,所有的内层集合必须为对象。目前仅有一种标准映射类型字典。 上一篇文章:Python标准库---14、内置类型:二进制序列类型 (memoryview)下一篇文章:Python标准库---16、内置类型:上下文管理器类型、其他、特殊属性 集合类型 --- set, ...

    kycool 评论0 收藏0
  • 数据库索引融会贯通

    摘要:索引的各种规则纷繁复杂,不了解索引的组织形式就没办法真正地理解数据库索引。顺畅地阅读这篇文章需要了解索引联合索引聚集索引分别都是什么,如果你还不了解,可以通过另一篇文章来轻松理解数据库索引是什么新华字典来帮你。 索引的各种规则纷繁复杂,不了解索引的组织形式就没办法真正地理解数据库索引。通过本文,你可以深入地理解数据库索引在数据库中究竟是如何组织的,从此以后索引的规则对于你将变得清清楚楚...

    chanthuang 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<