vue.js 数组里面有对象_ES6 Set 对象

Set 对象

Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。

01

Set 中的特殊值

Set 对象存储的值总是唯一的,如果有多次放相同的值,会覆盖之前的。所以需要判断两个值是否恒等。

在js中有几个特殊的值:undefined,NaN,Infinity。

看下面的例子:

ddd32dcb084fbc592443b1f79c79d9c1.png

运行结果:

31b0135a65e0a131435d4b2d61b82854.png

结论:

1. Set对象里面的值是唯一的。如果值相同,后面的会覆盖前面的。

2.虽然NaN和NaN不相等,但是在Set集合里面只会存在一个。

3.undefined和Infinity在Set集合里面只会存在一个。

4.如果Set的值是对象,只要是两个对象,即使两个对象的数据一样。Set里面也会存着这两个对象

02

类型转换

Array和Set 互相转换

30ee2b4af0ef2b356bd7c787be417fae.png

运行结果:

f4beea70eb8f98d546491b8a787b79bb.png

结论:

1. 通过new Set(数组),可以将一位数组转换成Set对象。

2.Set对象转换成Array,通过ES6的扩展运算符:[...Set对象]。

3.new Array(set)和new Array([...set]两种方式,前者得到的是一个长度是1的数组,数组0位置的值是一个Set对象,后着得的是一个二位数组。

4.new Set(字符串),得到是一个Set对象。该对象的长度是字符串的长度

03

Set 对象作用

数组去重

用这种方式能够很方便的将数组中重复的值进行剔除掉。

57a21b53b963d20b467270a0a12a2f8c.png

运行结果:

75161ec75e94e4f1f6c5b279c4c1c1ed.png

数组的长度是12,转换成Set之后,Set的长度是8。说明已经将重复的值剔除掉了。

并集

这里先说一下什么是并集。

给定两个集合A,B,把他们所有的元素合并在一起组成的集合,叫做集合A与集合B的并集,记作A∪B,读作A并B。

例子:

610c20d6ea75be813816bd4aced4b310.png

运行结果:

13e6e37798b3751f3f5835500e876668.png

交集

先来看一下交集的概念。

集合论中,设A,B是两个集合,由所有属于集合A且属于集合B的元素所组成的集合,叫做集合A与集合B的交集(intersection),记作A∩B。

例子:

0f2bb89111fc14eac229a9288254ee34.png

运行结果:

26639aa6fcc3b1526b38bf3ad28b602c.png

提示

其实上面是借助了数组的filter函数。

差集

先来看看差集的概念。

一般地,记A,B是两个集合,则所有属于A且不属于B的元素构成的集合,叫做集合A减集合B(或集合A与集合B之差),类似地,对于集合A、B,我们把集合{x∣x∈A,且x∉B}叫做A与B的差集,

例子:

c64d25d9409aa64fc68df9e07a040b2b.png

运行结果:

701da823f8b88b96d155de5499ce10c6.png

提示

其实上面是借助了数组的filter函数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值