集合
集合是一组无须且唯一不能重复的项组成的,可以看成没有顺序概念、重复元素的数组
class Set {
constructor() {
this.items = {}
}
has(element){
return element in this.items
}
has_2(element){
//hasOwnProperty该方法返回一个表明对象是否具有该属性的方法
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(){
//JavaScript的key()方法,它返回一个给定对象所有属性和对象的值
//可以借用它的length属性
return Object.keys(this.items).length
//当然,还有其他方法来实现,用length变量来记录个数或者用迭代得出个数
}
values(){
//返回对象所有属性值
return Object.values(this.items)
}
}
集合运算
并集
交集
差集
字典
散列表
附:
JS delete关键字