7.字典
7.1字典的特点
-
字典的主要特点是一一对应关系,既一个键对应一个值,与集合类似
-
字典中的key是不可以重复,而value可以重复,并且字典中的key是无序的
-
字典既映射,不同的编程语言对其有不同的称呼如python中是dict,java中是HashMap&TreeMap等
7.2字典的常见操作
-
set(key,value):向字典中添加新元素
-
remove(key):通过键值从字典中移除键值对应的数据值
-
has(key):字典中是否存在某个键值,存在返回true否则返回false
-
get(key):通过键值查找特定的值
-
clear():清除字典的所有元素
-
size():返回字典元素的数量
-
keys():将字典中所有键名以数组形式返回
-
values():将字典中所有数值以数组形式返回
7.3字典操作的实践
7.3.1字典整体实现预览
function Dict () {
//属性
this.items = {}
Dict.prototype.has = function (value) {}
Dict.prototype.set = function (key, value) {}
Dict.prototype.remove = function (key) {}
Dict.prototype.clear = function () {}
Dict.prototype.size = function () {}
Dict.prototype.values = function () {}
Dict.prototype.keys = function () { }
Dict.prototype.get = function (key) {}
}
7.3.2set(key,value)
Dict.prototype.set = function (key, value) {
this.items[key] = value
}
7.3.3remove(key)
Dict.prototype.remove = function (key) {
//判断该集合中是否包含该元素
if (this.has(key)) {
delete this.items[key]//将元素从对象中删除
return true
}
return false
}
7.3.4has(key)
Dict.prototype.has = function (value) {
return this.items.hasOwnProperty(value)//当前字典里面是否包含某个键
}
7.3.5get(key)
Dict.prototype.get = function (key) {
if (!this.has(key))
return false
return this.items[key]
}
7.3.6size()
Dict.prototype.size = function () {
return Object.keys(this.items).length//获取对象中keys的个数
}
7.3.7keys()
Dict.prototype.keys = function () {
return Object.keys(this.items)
}
7.3.8values()
Dict.prototype.values = function () {//获取集合的值
return Object.values(this.items)
}
7.3.9clear()
Dict.prototype.clear = function () {
this.items = {}
}