1.Js集合概念
集合是一种无序且唯一 (不能重复的)的项组成
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
//集合是一种无序且唯一 (不能重复的)的项组成
//n={1,2,3,5}
class jsySet{
items = {}
add(element){
if(!this.has(element)){
this.items[element] = element
return true
}
return false
}
remove(element){
if(this.has(element)){
delete this.items[element]
return true
}
return false
}
has(element){
return element in this.items
}
clear(){
this.items = { }
}
size(){
return Object.keys(this.items).length
}
values(){
return Object.values(this.items)
}
}
let set = new jsySet()
</script>
</body>
</html>
2.集合取交集并集差集
//es6 set
var mysetsa = new Set([1,2,3])
var mysetsb = new Set([2,3,4])
//并集
var newSet = new Set([...mysetsa,...mysetsb])
console.log(newSet); //Set(4) {1, 2, 3, 4}
//交集
var newSet2 = new Set([...mysetsa].filter(item=>mysetsb.has(item)))
console.log(newSet2); //Set(2) {2, 3}
//差集
var newSet3 = new Set([...mysetsb].filter(item=>!mysetsa.has(item)))
console.log(newSet3); //Set(1) {4}