Javascript 中的字典数据结构
web developmentfront end technologyjavascript
在计算机科学中,关联数组、映射、符号表或字典是一种抽象数据类型,由一组(键、值)对组成,每个可能的键在集合中最多出现一次。请注意,字典也称为映射。
字典问题是一个经典的计算机科学问题:设计一个数据结构,在"搜索"、"删除"和"插入"操作期间维护一组数据。字典的实现有很多种类型。
- 哈希表实现
- 基于树的实现(自平衡树和不平衡树)
- 基于列表的实现
何时使用字典
字典不是灵丹妙药,不应一有机会就使用。它们在许多场景中都很有用,但在决定使用字典解决问题之前,您需要牢记以下几点。
- 插入通常很慢,读取比树快。
- 使用这些进行快速查找,例如,缓存数据、索引数据库、符号表等。
- 当元素的顺序无关紧要时。
- 当所有元素键都是唯一的时。
我们将实现的方法
字典通常具有定义明确的 API。我们将实现一个非常基本的字典 API,定义如下 −
- get(): 获取具有输入键的元素
- put(): 将键值对放入字典中
- hasKey(): 检查键是否存在于字典中
- delete(): 从字典中删除给定的键
- clear(): 从字典中删除所有键值对
- keys(): 以数组形式返回所有键
- values(): 以数组形式返回所有值