博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript字典
阅读量:6264 次
发布时间:2019-06-22

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

hot3.png

在字典中,我们使用键值对来存储数据。

字典

字典的定义

Dictionary (map, association list) is a data structure, which is generally an association of unique keys with some values. One may bind a value to a key, delete a key (and naturally an associated value) and lookup for a value by the key.

字典中存储的是[key,value],其中键名是用来查询特定的元素的。字典和集合很相似,只是集合以[value,value]的格式来存储数据的。字典也叫作映射。

JavaScript实现的字典

下面通过一个实际例子来创建并且使用一下字典。

首先创建一个字典:

function Dictionary(){    var items = {};    this.set = function(key, value){        items[key] = value; //以键作为索引来存储数据    };    this.remove = function(key){        if (this.has(key)){            delete items[key];            return true;        }        return false;    };    this.has = function(key){        return items.hasOwnProperty(key);        //return value in items;    };    this.get = function(key) {        return this.has(key) ? items[key] : undefined;    };    this.clear = function(){        items = {};    };    this.size = function(){        return Object.keys(items).length;    };    this.keys = function(){        return Object.keys(items);    };    this.values = function(){        var values = [];        for (var k in items) {            if (this.has(k)) {                values.push(items[k]);            }        }        return values;    };    this.each = function(fn) {        for (var k in items) {            if (this.has(k)) {                fn(k, items[k]);            }        }    };    this.getItems = function(){        return items;    }}

简单地使用字典

接下来我们使用这个创建好的字典来存储一些邮件地址的数据吧,类似一个简易的电子邮件薄:

var dictionary = new Dictionary();dictionary.set('Gandalf', 'gandalf@email.com');dictionary.set('John', 'johnsnow@email.com');dictionary.set('Tyrion', 'tyrion@email.com');console.log(dictionary.has('Gandalf'));   console.log(dictionary.size());  console.log(dictionary.keys()); console.log(dictionary.values()); console.log(dictionary.get('Tyrion')); dictionary.remove('John');console.log(dictionary.keys()); console.log(dictionary.values()); console.log(dictionary.getItems()); //打印输出items对象的内部结构

输出的结果如下:

214824_KPaf_2392809.png

转载于:https://my.oschina.net/donngchao/blog/543012

你可能感兴趣的文章
IntelliJ IDEA安装 一些配置
查看>>
【算法之美】求解两个有序数组的中位数 — leetcode 4. Median of Two Sorted Arrays
查看>>
post请求和get请求
查看>>
零成本实现接口自动化测试 – Java+TestNG 测试Restful service
查看>>
源码安装php时出现Sorry, I cannot run apxs. Possible reasons follow:
查看>>
使用T4模板生成POCO类
查看>>
精度 Precision
查看>>
打印内容函数
查看>>
Mina2 udp--zhengli
查看>>
组合模式
查看>>
Checked Exceptions
查看>>
Android——4.2 - 3G移植之路之 APN (五)
查看>>
用scikit-learn和pandas学习线性回归
查看>>
Effective C++ 34
查看>>
使用Logstash创建ES映射模版并进行数据默认的动态映射规则
查看>>
英文,数字和中文混合的彩色验证码实现
查看>>
由于找不到 MSVCR100.dll,无法继续执行代码
查看>>
Django中间件
查看>>
【bootstrap】bootstrap中的tooltip的使用
查看>>
Java嵌入式数据库H2学习总结
查看>>