博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
非顺序数据结构——字典
阅读量:6448 次
发布时间:2019-06-23

本文共 2159 字,大约阅读时间需要 7 分钟。

作用

通过键值(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'));

打印结果:

图片描述

转载地址:http://relwo.baihongyu.com/

你可能感兴趣的文章
Java参数传递方式?
查看>>
我的友情链接
查看>>
设计模式之——适配器模式详解
查看>>
Spring Data JPA 简单介绍
查看>>
JavaScript入门
查看>>
jsp内置对象之 resquest
查看>>
meteor-angular优化启动
查看>>
springboot 系列教程十:springboot单元测试
查看>>
码云和git指令
查看>>
一篇不错的wsl文章
查看>>
推论统计8
查看>>
地图中画线(添加遮盖物)方法
查看>>
Web前端规范--通用规范
查看>>
多线程问题及处理方法【转】
查看>>
Sublime for Python
查看>>
Ubuntu10.04.4 Server下基于LVS DR模式+Keepalived的负载均衡高可用
查看>>
《Activiti实战》摘抄&笔记1
查看>>
ladon 与 suds互通 (转)
查看>>
Java8新特性(三)
查看>>
合成(Composite)模式
查看>>