字典:
字典是一些节点的集合,每个节点包含一个key和value。
字典就是一种以【键-值】对儿的形式存储数据的数据结构。
javaScript中的Object类就是以字典的形式设计的。
字典的实现:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>字典</title>
</head>
<body>
<script>
//Set {1:1,2:2} 值值对
//Dictionary {"name":"xiaoming"} 键值对
//js的数据类型对象就是字典的一种实现
function Dictionary() {
var items = {}
// 检测键是否存在
this.has = function (key) {
// return items.hasOwnProperty(key)
return key in items
}
//添加元素
this.set = function (key, value) {
items[key] = value
}
// 删除元素
this.delete = function (key) {
if (this.has(key)) {
delete items[key]
return true
}
return false
}
//获取键对应的值
this.get = function (key) {
if (this.has(key)) {
return items[key]
}
return undefined
}
//以数组的方式返回字典的值
this.values = function () {
var values = []
for (var k in items) {
if (this.has(k)) {
values.push(items[k])
}
}
return values
}
//获取全部键名
this.keys = function () {
return Object.keys(items)
}
this.getItems = function () {
return items
}
this.size = function () {
return this.keys().length
}
}
</script>
</body>
</html>