什么是集合
集合是由一组无序且唯一(即不能重复)的项组成的。
集合的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;
}
/**
* 获得集合的值
*/
values() {
return Object.values(this.items)
}
}
const set = new Set();
set.add(1)
console.log(set.values()); // [1]
set.delete(1)
console.log(set.values()); // []
set.add(2)
set.add(3)
console.log(set.size()) // 2