在字典中存储的是[键,值]对,其中键名是用来查询特定元素的。字典也称作映射、符号表或关联数组。
以ECMAScript2015中的Map类为基础,实现Dictionary类。我们需要声明一些字典可以使用的方法:
- set(key, value): 向字典中添加新元素。如果key已存在,那么已存在的value会被新的值覆盖。
- remove(key): 通过使用键值作为参数来从字典中移除键值对应的数据值。
- hasKey(key): 如果某个键值存在于该字典中,返回true,否则返回false。
- get(key): 通过以键值作为参数查找特定的数值并返回。
- clear(): 删除该字典中所有值。
- size(): 返回字典所包含值得数量。
- isEmpty(): 在size等于零时返回true,否则返回false。
- keys(): 将字典所包含的所有键名以数组的形式返回。
- values(): 将字典所包含的所有数值以数组形式返回。
- keyValues(): 将字典中所有[键,值]对返回。
- forEach(callbackFn): 迭代字典中所有的键值对。callbackFn有两个参数:key和value。该方法可以在回调函数返回false时被中止。
function defaultToString(item) {
if(item === null) {
return 'NULL';
} else if(item === undefined) {
return 'UNDEFINED';
} else if(typeof item === 'string' || item instanceof S