1. 定义
字典是以**[键,值]**的形式来存储元素。字典也称作映射、符号表或关联数组。
es6中有字典Map
常用操作:键值对的增删改查
2. 具体操作
创建
在字典中,理想的情况是用字符串作为键名,值可以是任何类型。但是,由于JavaScript 不是强类型的语言,我们不能保证键一定是字符串。我们需要把所有作为键名传入的对象转化为字符串,使得从Dictionary 类中搜索和获取值更简单。
使用
-
set(key,value):向字典中添加新元素
如果key 已经存在,那么已存在的 value 会被新的值覆盖
-
remove(key):通过使用键值作为参数来从字典中移除键值对应的数据值。
-
hasKey(key):如果某个键值存在于该字典中,返回true,否则返回false。
-
get(key):通过以键值作为参数查找特定的数值并返回。
-
clear():删除该字典中的所有值。
-
size():返回字典所包含值的数量。与数组的length 属性类似。
-
isEmpty():在size 等于零的时候返回true,否则返回false。
-
keys():将字典所包含的所有键名以数组形式返回。
-
values():将字典所包含的所有数值以数组形式返回。
-
keyValues():将字典中所有[键,值]对返回。
-
forEach(callbackFn):迭代字典中所有的键值对。callbackFn 有两个参数:key 和value。该方法可以在回调函数返回false 时被中止(和Array 类中的every 方法相似)。
-
toString()
3. 使用
4. LeetCode
将nums1的每个值以key的形式存在字典里,值设置为true
遍历nums2,如果在字典里找到有对应的值,则添加到res里,并在字典里删除这个值
使用栈和字典这两个数据结构
栈:后进先出
字典:键对匹配
内存消耗大,执行时间快
使用滑动窗口,如果map里有这个元素且在窗口内,则左指针向右移动
直到不满足条件,取窗口大小与res进行比较,res存储较大的那个数,并将右指针与指向的数字以键对的形式存储到map里
使用滑动窗口,并使用map进行键对匹配
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!