大白话理解Set结构

 

一、Set是什么?

set结构似于数组,但是成员的值都是唯一的,没有重复的值。

参数可以是数组,类似数组的对象,字符串。

eg:   new Set([1, 2, 3, 4, 4]) ;     new Set(document.querySelectorAll('div'));  new Set(‘abbc’) ;    

它是个构造函数,我们先来打印下

 

 

 

 可以看到Set结构有个size的属性, 它的值是去重之后的length.

注:Set 不会发生类型转换,类似于===,但还是有部分区别,Set 认为NaN等于自身,而=== 认为NaN不等于自身。 

二、转换类型

Set不是数组,那用什么方法转换为数组呢? -----  Array.from()

三、方法

 

 

    .add(value):添加某个值,返回 Set 结构本身。

  .delete(value):删除某个值,返回一个布尔值,表示删除是否成功。

  .has(value):返回一个布尔值,表示该值是否为Set的成员。

  .clear():清除所有成员,没有返回值。

来个例子吧:

.keys():遍历键名、    .values():遍历键值、  .entries():遍历键值对、   .forEach():遍历每个成员 

注:Set 结构没有键名,只有键值(或者说键名和键值是同一个值),所以keysvalues方法,都是返回键值

  entries返回的键、值都相同。

四、应用:

 

posted @ 2019-10-25 16:09  灰姑娘的冰眸  阅读(1909)  评论(0编辑  收藏  举报