javascript-数据结构-集合
//创建集合类
class Set{
constructor(){
this.items={}
}
has(element){
//是否包含
return Object.prototype.hasOwnProperty.call(this.items,element);
}
add(element){
if(!this.has(element)){
//元素不存在的情况
this.items[element]=element
return true
}
return false
}
delete(element){
if(this.has(element)) {
delete this.items[element]
return true
}
return false
}
clear(){
this.items={}
}
size(){
return Object.keys(this.items).length
//es6的语法,返回所有key组成的数组-->object.keys()
}
values(){
return Object.values(this.items)
}
}
const set=new Set()
set.add(1)
set.add(2)
set.add(3)
console.log(set.size())
console.log(set.values())
set.delete(1)
console.log(set)
set.clear()
console.log(set.size())