网上的相关教程非常多,基础知识自行搜索即可。

习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。

参考代码可见:https://github.com/dashnowords/blogs/tree/master/Structure/Dictionary
<https://github.com/dashnowords/blogs/tree/master/Structure/Dictionary>

字典的基本知识

以键值对形式存储数据的数据结构,在Javascript中更多地是直接使用对象,一般只在有排序需求的场景下会用到本篇中构造的Dictionary
类,因为对象属性是无序的。

字典的应用

字典在Javascript中是非常常用的技术之一,一般会和设计模式中的策略模式
一起被提及。策略模式指的是定义一系列的算法,把它们一个个封装起来。将不变的部分和变化的部分隔开是每个设计模式的主题,策略模式也不例外,策略模式的目的就是将算法的使用与算法的实现分离开来。例如下面一段计算薪水和奖金的示例:
var obj = { "A": function(salary) { return salary * 4; }, "B" :
function(salary) { return salary * 3; }, "C" : function(salary) { return salary
* 2; } }; var calculateBouns =function(level,salary) { return
obj[level](salary); }; console.log(calculateBouns('A',10000)); // 40000
基本练习

构造一个Dictionary类。实现下列基本方法

* add(key, value)——添加一条记录
* find(key)——查找指定键对应的值
* remove(key)——移除指定键值对
* showAll( )——显示所有键值对
* clear( )——清空数据
课后习题(书中第七节习题)

*
写一个程序,该程序从文本读入名字和电话号码,然后将其存入一个字典,程序包含如下功能:显示单个电话号码,显示所有电话号码,增加新的电话号,删除电话,清空所有电话。
* 使用Dictionary类写一个程序,用来统计一段文本中各个单词出现的次数。例如,"the brown for jumped over the
blue fox",对应的输出为: the:2 brown:1 fox:2 jumped:1 over:1 blue:1
* 修改练习2,使单词按字母顺序显示。

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信