Set(存放唯一的值)
- Set 的属性和方法
let arr = [1,1,2,2,3,3,4,4];
let set1 = new Set(arr);
//1.获取Set长度——size,跟数组的 length相似
console.log(set1.size);//4
//2.给Set添加元素——add(),跟数组的push相似
set1.add(5);
console.log(set1);//{1, 2, 3, 4, 5}
//3.删除Set元素——delete();
set1.delete(2);
console.log(set1);//{1, 3, 4, 5}
//4.判断元素是否在Set中——has();
console.log(set1.has(2));//false
console.log(set1.has(4));//true
//5.清空Set——clear();
console.log(set.clear());
Set本质上也是对象,跟数组类似,但是Set中没有重复的元素,如果有,则自动删除
let arr = [1,1,2,2,3,3,4,4];
let set1 = new Set(arr);
console.log(arr);//[1, 1, 2, 2, 3, 3, 4, 4]
console.log(set1);//Set(4) {1, 2, 3, 4}
- Set数组去重
let arr = [1,1,2,2,3,3,4,4];
let set1 = new Set1(arr);
arr = Array.from(set1);//set转数组 Array.from();
console.log(arr);// [1, 2, 3, 4]
Map
Map跟对象类型几乎一模一样,也是一种键值对的组合,但是Map键(key)可以是任何类型,包括数组和对象
- Map 的属性和方法
//1.声明Map
let myMap = new Map();
//2.设置元素 set();
myMap.set(arr,'数组');
myMap.set(obj,123);
myMap.set(123,true);
//3.获取Map长度 size
console.log(myMap.size);//3
//4.获取指定key的value get();
console.log(myMap.get(obj));//123
//5.根据指定的key删除元素 delete()
console.log(myMap.delete(arr));
console.log(myMap);
//6.根据指定key查找元素 has();
console.log(myMap.has(obj));//true
console.log(myMap.has(arr));//false(已经被删除)
//7.删除Map中所有元素
console.log(myMap.clear());
- Map 拓展
//1.Map中的遍历器(迭代器) keys();输出Map中所有的key
//2.values();输出Map中所有的value
//3.entries();同时输出Map中的key和value
- 使用 forEah循环Map
myMap.forEach(value.key) =>{
console.log(value,key);
//第一个参数是value
//第二个参数是 key
//与参数名交什么无关
}