javascript数据结构之集合
一般来说,集合我们常常在js中称之为数组,ES6中的是 Set,实现一个常用的 Set一、首先定义一个 变量来存储数据集合class Set {// 首先定义一个集合来存放对应的数据constructor() {this.items = {}}}接下来是实现对应的方法add 添加数据方法/*** 存入数据* @param {*} value 待存入的数据* @returns boolean*/ad
·
一般来说,集合我们常常在js中称之为数组,ES6中的是 Set,实现一个常用的 Set
一、首先定义一个 变量来存储数据集合
class Set {
// 首先定义一个集合来存放对应的数据
constructor() {
this.items = {}
}
}
接下来是实现对应的方法
add 添加数据方法
/**
* 存入数据
* @param {*} value 待存入的数据
* @returns boolean
*/
add(value) {
if (this.has(value)) { return false }
this.items[value] = value
}
has 查询是否存在该集合
/**
* 判断该数据是否在该集合中
* @param {*} value 待判断的数据
* @returns 是否存在
*/
has(value) {
return this.items.hasOwnProperty(value)
}
remove 移除方法
/**
* 移除对应的元素
* @param {*} value 待移除的元素
* @returns boolean
*/
remove(value) {
if (!this.has(value)) return false
return delete this.items[value]
}
一些其他方法
/**
* 清空集合
*/
clear() {
this.items = {}
}
/**
* 返回集合长度
* @returns number
*/
size() {
return Object.keys(this.items).length
}
values() {
return Object.keys(this.items)
}
整体
/**
* 集合
*/
class Set {
constructor() {
this.items = {}
}
/**
* 存入数据
* @param {*} value 待存入的数据
* @returns 存入成功或失败
*/
add(value) {
if (this.has(value)) { return false }
this.items[value] = value
}
/**
* 判断该数据是否在该集合中
* @param {*} value 待判断的数据
* @returns 是否存在
*/
has(value) {
return this.items.hasOwnProperty(value)
}
/**
* 移除对应的元素
* @param {*} value 待移除的元素
* @returns 是否移除成功
*/
remove(value) {
if (!this.has(value)) return false
return delete this.items[value]
}
/**
* 清空集合
*/
clear() {
this.items = {}
}
/**
* 返回集合长度
* @returns number
*/
size() {
return Object.keys(this.items).length
}
values() {
return Object.keys(this.items)
}
}
export default Set
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐

所有评论(0)