[18,”Code”,1.88]
,可以通过下标值取出信息。{“age”:18,”name”:”code”,”heigth”:1.88}
.可以通过key
取出value
Swift
中Dictionary
,Python
中的dict
)Map
,注意Map
在这里不要翻译成地图,而是翻译成映射。(比如Java
中就有HashMap&TreeMap
等)key
来搜索对应的value
,key
可以包含特殊含义,也更容易被人记住。Java
)中对字典和对象区分比较明显,对象通常是一种在编译期就确定下来的结构,不可以动态的添加或者删除属性。而字典通过会使用类似于哈希表的数据结构去实现一种可以动态的添加数据的结构。JavaScript
中,似乎对象本身就是一种字典。所以在早期的JavaScript
中,没有字典这种数据类型,因为你完全可以使用对象去代替。我们向之前封装集合一样,封装一个字典的构造函数
// 创建字典的构造函数
function Dictionay(){// 字典属性this.item = {}}
代码解析:
Dictionary
的构造函数,用于我们字典的封装。items
属性,该属性是一个Object
对象。Object
封装的,这个不难理解:就像我们之前封装Stack
和Queue
是基于数组的一样。set(key,value)
:向字典中添加新元素。remove(key)
:通过用键值来从字典中移除键值对应的数据值。has(key)
:如果某个键值处在于这个字典中,则返回true
,反之则返回false
。get(key)
:通过键值查找特定的数值并返回。clear()
:将这个字典中所有元素全部删除。size()
:返回字典所包含元素的数量。于数组的length
属性类似。keys()
:jiang字典所包含的所有键名以数组形式返回。values()
:将字典所包含的所有数值以数组形式返回。我们将这些方法放在一起实现
// 创建字典的构造函数
function Dictionay() {// 字典属性this.items = {}// 字典操作方法// 在字典中添加键值对Dictionay.prototype.has = function (key) {return this.items.hasOwnProperty(key)}// 从字典中移除元素ve = function (key) {// 1.判断字典中是否有这个keyif(!this.has(key)) return false// 2.从字典中删除keydelete this.item[key]return true}// 根据key去获取 = function (key) {return this.has(key) ? this.items[key] : undefined}// 获取所有的valueDictionay.prototype.values = function () {return Object.values(this.items)}// size方法Dictionay.prototype.size = function () {return this.keys().length}// clear方法Dictionay.prototype.clear = function () {this.items = {}}
}
测试
// 创建字典对象
let dict = new Dictionqy()// 字典中添加元素
dict.set("age",18)
dict.set("name","code")
dict.set("heigth",1.88)
dict.set("address","广州市")// 获取字典的信息
alert(dict.keys()) // age,name,heigth,address
alert(dict.values()) // 18,code,1.88,广州市
alert(dict.size()) // 4
("name")) //code// 字典的删除方法‘
ve("heigth")
alert(dict.keys()) // age,name,address// 情况字典
dict.clear()
本文发布于:2024-01-29 09:00:04,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170649000714164.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |