持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第15天,点击查看活动详情
什么是Set
==Set是一系列无序、没有重复值的数据集合==;
数组是一系列有序的数据集合。
Set实例的属性和方法
add()
add()向Set实例中添加一个值,可连续添加。
添加数据时,Set会将重复值去掉;
但可以向Set实例中添加两个一样的对象,因为两个对象在内存中的地址不一样。
has()
判断Set实例中是不是含有某个成员。
delete()
删除Set实例成员,删除实例中不存在的成员不报错。
clear()
清空Set实例成员。
forEach()
按添加顺序遍历Set实例成员,接收两个参数,第一个是一个回调,回调接收三个参数:value、key、Set。第二个参数是是this指向。
在Set中,value === key, Set ===Set实例。
size属性
获取Set成员个数。
Set构造函数
数组
数组作为参数,传入构造函数。
字符串
字符串作为参数,传入构造函数。
arguments
arguments作为参数,传入构造函数。
DOM
DOM节点作为参数,传入构造函数。
<p>1</p>
<p>2</p>
<script>
const s = new Set(document.querySelectorAll('p'));
console.log(s);
</script>
Set
Set作为参数,传入构造函数,相当于Set实例的克隆。
注意事项
判断重复的方式
Set对于重复值的判断基本遵循 ===,但在Set中NaN ===NaN。
Set应用
Set转数组
数组中解构
from()
from() 方法用于通过拥有 length 属性的对象或可迭代的对象来返回一个数组。
如果对象是数组返回 true,否则返回 false。
数组去重
字符串去重
DOM操作
<p>1</p>
<p>2</p>
<script>
const s = new Set(document.querySelectorAll('p'));
s.forEach(function (element){
element.style.color = 'red';
})
</script>
本文到此结束
如果大家还有什么其他想法,欢迎在评论区交流!