let mySet = new Set(["name","zs"]);
let mySet = new Set("hello");
let arr = [11,22,33,44,55];
let mySet = new Set(arr);
mySet.add(66);
mySet.add({});
mySet.add([]);
mySet.add(function(){});
mySet.add(NaN);
mySet.add(null);
mySet.add(undefined);
console.log(mySet)
1.
Set是唯一值的集合类似与数组,常用于数组去重 | ||
Set 对象的几个常用方法和属性 | ||
| ||
add() 向 Set 添加新元素。 | ||
clear() 从 Set 中删除所有元素 | ||
delete() 删除由其值指定的元素。 | ||
has() 如果值存在则返回 true。 | ||
forEach() 为每个元素调用回调 | ||
| ||
size 返回元素个数。 |
Set对象 | |
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用 |
2.
set对象与map对象有什么区别,map对象与object有什么区别?
set对象与map对象区别
Set对象可以接收一维数组和字符串类型添加值
Set对象只有value值
Set对象可以对数组去重
map对象与object区别
共同点
二者都是以key-value的形式对数据进行存储;
不同点 key的数据类型范围不同
obj可以作为key的仅有number、string、symbol。
map均可以。
key的顺序不同。
obj通过obj.keys()打印出来的属性顺序是 number–字符串
map的key顺序是声明顺序。
创建方式不同。
obj有三种创建方式 字面量{}、new Object() 、构造函数。
map仅支持new Map()
key的调用不同。
map只能用原生的get方法调用。
设置属性的方式不同
map只能使用set(key,val)方法设置属性。
Size属性
map有size属性,对象没有。Map.size 返回 Map 中元素的数量,而 Object 的键值对个数只能手动计算