为了账号安全,请及时绑定邮箱和手机立即绑定

【九月打卡】第九天 集合

标签:
算法

第一模块:课程介绍

课程名称:JavaScript版数据结构与算法 轻松解决前端算法面试
课程章节:6-1 集合简介
主讲老师:lewis

第二模块:课程内容

了解前端中的集合,熟悉JS中集合的使用

第三模块:课程收获

1. 集合是什么?

  • 一种无序且唯一的数据结构。
  • ES6中有集合,名为Set

理解:

集合是一堆无序,但是彼此之前又存在关联的数据组成,每个数据在这个里面都是唯一的。

集合和数组的区别在于:

  1. 里面的元素没有顺序,并且不能重复。
  2. 不能通过下标进行访问。

集合可以用来干嘛呢

  • 去重

想要对数组进行去重的话,可以转成set,就直接去重了

  • 判断某元素是否在集合中

  • 求两个集合中的交集

我们还能对集合进行如下的运算 :

并集 :对于给定的两个集合,返回一个包含两个集合中所有元素的新集合
交集 :对于给定的两个集合,返回一个包含两个集合中所有共有元素的新集合
差集 :对于给定的两个集合,返回一个包含所有存在第一个集合且不存在第二个集合的元素的新集合
子集 :验证一个给定的集合是否是另一个集合的子集

2. 编码

代码块:去重

// 去重
const arr = [1,2,2,3,3];

const arr2 = [...new Set(arr)];

console.log(arr2)

图片描述

在上面的代码中,通过创建一个Set集合,来进行了一个去重操作,使用new Set()的形式,对集合进行创建,再使用[…xxx]来将Set转成了数组。

代码块:判断元素是否在集合中

const set2 = new Set(arr);

const has = set2.has(2)

console.log(has)

使用Set中的has方法来进行判断。

has() 方法返回一个布尔值,指示具有指定值的元素是否存在于 Set 对象中。

代码块:求交集

// 求交集
const set2 = new Set([2,3]);

const set3 = new Set([...set1].filter(item => set2.has(item)));

Set 本身不提供求交集的方法。所以需要转成数组,然后使用数组的filter方法来进行过滤,得到交集。

第四模块:课程记录

图片描述

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消