亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【九月打卡】第九天 集合

標簽:
算法

第一模块:课程介绍

课程名称: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下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消