野生前端的数据结构基础练习(4)——字典
2023-09-14 09:06:01 时间
【摘要】 网上的相关教程非常多,基础知识自行搜索即可。习题主要选自Orelly出版的《数据结构与算法javascript描述》一书。
参考代码可见: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:2brown:1fox:2jumped:1over:1blue:1
3.修改练习2,使单词按字母顺序显示。
来源:华为云社区 作者:大史不说话
相关文章
- Interview: 2020春季中高级前端面试记 | 渐进增强题目甄选(上篇)-react&http基础
- CSS3 做一个旋转的立体3D正方形 动效核心【前端就业课 第二阶段】CSS 零基础到实战(07)
- salesforce零基础学习(一百一十七)salesforce部署方式及适用场景
- 2.vSphere基础操作配置
- java对象的上转型对象_0基础前端和后端哪个难学
- 从头学前端-CSS基础04
- 前端基础进阶(十五):详解 Promise对象
- Matplotlib绘图的基础操作
- 【愚公系列】2023年02月 WMS智能仓储系统-014.基础设置(菜单设置、用户管理、商品类别设置)
- 【愚公系列】2023年03月 其他-Web前端基础面试题(http_20道)
- 【愚公系列】2023年03月 其他-Web前端基础面试题(react专项_35道)
- WebAssembly 在 MOSN 中的实践:基础框架篇
- Python基础语法-基本数据类型-深浅拷贝(三)
- 来了解一下Mysql索引的相关知识:基础概念、性能影响、索引类型、创建原则、注意事项详解数据库
- 前端基础-BOM和DOM的介绍详解编程语言
- Linux基础班:入门学习入门必备!(linux基础班)
- 漏洞挖掘基础之格式化字符串
- Linux系统基础:学会使用基本命令(linux系统基本命令)