1、set创建有两种
用add、直接传入数组。
const s1 = new Set()
s1.add(1)
s1.add(2)
s1.add(3)
const s2 = new Set([1,2,3])
console.log(s1)
console.log(s2);
2、set不含重复
const s = new Set()
s.add(1)
s.add(2)
s.add(3)
s.add(3)
console.log(s);//还是Set(3) { 1, 2, 3 }
3、delete删除、
has是否含有、
size 长度
clear 清空
const s2 = new Set([1,2,3])
s2.delete(2)
console.log(s2);//Set(2) { 1, 3 }
console.log(s2.has(3));//true 有3这个元素
console.log(s2.size);//2 长度为2
s2.clear(); // 清空
console.log(s2);// Set(0) {}
4、两种方法转换为数组
const s = new Set([1,2,3,4])
const arr = [...s]//转换成数组
const arr2 = Array.from(s)//另一种转换成数组
console.log(arr);
console.log(arr2);
5、数组去重
const arr = [1,2,3,2,2,4]
console.log([...new Set(arr)]); //[ 1, 2, 3, 4 ]
const arr1 = [...new Set(arr)]
console.log(arr1); //[ 1, 2, 3, 4 ]
const arrset = new Set(arr);
const arr2 = Array.from(arrset)
console.log(arr2); //[ 1, 2, 3, 4 ]
但是引用数据类型不能去重
如下
6、map
键值对
const map =new Map()
//key value
map.set('name','老子')
map.set(true,996)
map.set(179,'哈哈哈哈')
const map2 = new Map([['name','老子'],[true,996],[179,'哈哈哈哈']])
console.log(map);//Map(3) { 'name' => '老子', true => 996, 179 => '哈哈哈哈' }
console.log(map2);//Map(3) { 'name' => '老子', true => 996, 179 => '哈哈哈哈' }
console.log(map.has('name'));//true 有 'name'这个key
console.log(map.get('name'));//老子 获取它的value值
map.delete('name')//删除 这个key 及value
console.log(map);//Map(2) { true => 996, 179 => '哈哈哈哈' }
map.clear()// 清空map
console.log(map); //Map(0) {}