该系列博客索引目录:数据结构与算法—前端JavaScript学习
数组-集合-字典是几乎编程语言都会默认提供的数据类型.
在JavaScript中默认提供了数组, 但没有提供集合和字典(ES6中增加了), 在上一章节中, 我们自己通过对象实现了一下集合.
本章, 我们还是基于对象实现一下字典.
我们向之前封装集合一样, 封装一个字典的构造函数
// 创建字典的构造函数
function Dictionay() {// 字典属性this.items = {}// 字典操作方法
}
代码解析:
我们之前封装的数据结构, 都有封装各种操作, 字典也是一样
set(key,value)
:向字典中添加新元素。remove(key)
:通过使用键值来从字典中移除键值对应的数据值。has(key)
:如果某个键值存在于这个字典中,则返回true
,反之则返回false
。get(key)
:通过键值查找特定的数值并返回。clear()
:将这个字典中的所有元素全部删除。size()
:返回字典所包含元素的数量。与数组的length
属性类似。keys()
:将字典所包含的所有键名以数组形式返回。values()
:将字典所包含的所有数值以数组形式返回。我们将这些方法放在一起实现
// 创建字典的构造函数
function Dictionay() {// 字典属性this.items = {}// 字典操作方法// 在字典中添加键值对Dictionay.prototype.set = function (key, value) {this.items[key] = value}// 判断字典中是否有某个keyDictionay.prototype.has = function (key) {return this.items.hasOwnProperty(key)}// 从字典中移除元素ve = function (key) {// 1.判断字典中是否有这个keyif (!this.has(key)) return false// 2.从字典中删除keydelete this.items[key]return true}// 根据key去获取 = function (key) {return this.has(key) ? this.items[key] : undefined}// 获取所有的keysDictionay.prototype.keys = function () {return Object.keys(this.items)}// 获取所有的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 = {}}
}
代码解析:
我们来使用和测试一下字典类:
// 创建字典对象
var dict = new Dictionay()// 在字典中添加元素
dict.set("age", 18)
dict.set("name", "Coderwhy")
dict.set("height", 1.88)
dict.set("address", "广州市")// 获取字典的信息
alert(dict.keys()) // age,name,height,address
alert(dict.values()) // 18,Coderwhy,1.88,广州市
alert(dict.size()) // 4
("name")) // Coderwhy// 字典的删除方法
ve("height")
alert(dict.keys())// age,name,address// 清空字典
dict.clear()
本文发布于:2024-01-29 09:00:12,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170649001414165.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |