博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
javascript Dictionary data structures
阅读量:5748 次
发布时间:2019-06-18

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

Dictionary常被称为数据字典,是一种用来保存键值对的数据结构,比如我们日常的电话本,就是一个Dictionary。我们通过键(名字),就可以访问到对应的值(电话号码)。在C++与java中我们都是使用map来构建这样一个Dictionary,只是名字不同而已。在javascript中对象就好像是一个Dictionary一样,因为对象就是一个属性名/属性值的集合。

为了更好的体现出Dictionary,我们可以基于Array与object来构建一个使用方便简单的Dictionary类:

Dictionary类:

    Date Example

除了上面这些方法之外,我们也可以根据自己的使用来添加其他的方法与属性。

//   删除字典中所有元素 this.clearAll = function (){          for (var key in Object.keys(this.dataArray)){            delete this.dataArray[key];          }      };
//   字典中的元素个数 this.itemsCount = function (){          var num = 0;          for (var key in Object.keys(this.dataArray)){            ++num;          }          return num;      }

在itemsCount中查询数量为什么不直接使用this.dataArray.length呢???这是因为在键的类型为字符串类型的时候,length这个属性就不起什么作用了。。。。

字典的用途大多说时候我们之关心通过键开获取值,不会去关心键的顺序问题,但是为了更好的显示我们前面说的那个电话本,可以对电话本中的键(名字)进行排序。

      在javascript中我们常见的是对数组进行排序,那利用数组的sort()进行排序如何呢,你会看到silently。主要原因就是我们平时使用的数组是在数组按照整型值的索引下对数组元素进行排序的,现在的数组的索引变成了字符串,这种形式的排序也就失去了效果。其实我们可以取出Dictionary中的键,把键放入一个数组A中,然后对这个数组A进行排序,然后利用数组A来遍历Dictionary。Object.keys()就提供了这样一种方法:

this.sequenceShow = function (){          for (var key in Object.keys(this.dataArray).sort()){            console.log(key + ":" + this.dataArray[key]);          }      }

这样我们就可以实现把“键”进行排序了。。。

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

你可能感兴趣的文章
MAVEN 属性定义与使用
查看>>
shell高级视频答学生while循环问题
查看>>
使用@media实现IE hack的方法
查看>>
《11招玩转网络安全》之第一招:Docker For Docker
查看>>
hive_0.11中文用户手册
查看>>
hiveserver2修改线程数
查看>>
XML教程
查看>>
oracle体系结构
查看>>
Microsoft Exchange Server 2010与Office 365混合部署升级到Exchange Server 2016混合部署汇总...
查看>>
Proxy服务器配置_Squid
查看>>
开启“无线网络”,提示:请启动windows零配置wzc服务
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
栈(一)
查看>>
ios 自定义delegate(一)
查看>>
创建美国地区的appleId
查看>>
例题10-2 UVa12169 Disgruntled Judge(拓展欧几里德)
查看>>
[c语言]c语言中的内存分配[转]
查看>>
JS 原生ajax写法
查看>>
day 10 字符编码和文件处理 细节整理
查看>>