1.set 无重复值的有序列表
let set = new Set();
set.add(2); //添加 可以是任意类型 返回添加元素后的set
set.delete(2); //删除 返回true/false
set.has(2);//有无
set.size; //属性 集合的长度
for (val of set) { //set遍历
console.log(val); //获得每个元素值
}
//数组去重
let set2 = new Set([1, 2, 3, 4, 5, 6, 6, 6, 6, 6]); //array转换成set
let arr = [...set2]; //set 转换成array
console.log(arr);
//set中的对象引用不可释放 将对象设置为null无效
let set = new Set(),
obj = {
a: 1
};
set.add(obj);
console.log(set);
obj = null; //set中的对象引用不可释放 将对象设置为null无效
console.log(set); //此处的obj还是a:1
let result = set.delete(obj); //obj=null之后,此obj与添加到set中的obj不是一个对象了
console.log(result); //false
console.log(set);
//三次打印内容相同
2.map 键值对
let map = new Map();
map.set('name', 'hattie');
map.set('age', 18);
map.get('name');
map.has('name');
map.delete('name');
map.clear();