美文网首页
ES6 数据结构-Set

ES6 数据结构-Set

作者: GoFzy | 来源:发表于2019-03-16 19:34 被阅读0次

一、基本用法与特性

  Set本身是一个构造函数,可直接用来生成Set数据结构:

const s = new Set();

  可传入数组or伪数组

//传入数组
const  set = new Set([1,2,3,4]);
//传入伪数组
let divs = document.querySelectorAll('div');
const set2 = new Set(divs);

  ①Set结构不会添加重复值

const set = new Set([1,2,3,4,4]);
[...set]; //[1,2,3,4]

  ②Set结构加入数据时不会发生类型转换

const set = new Set([1,2,3,4,'4']);
[...set]; //[1,2,3,4,'4']

  Set内部判断两个值是否相等使用的方法类似于===,所以4和'4'可以同时添加

二、Set实例的属性和方法

  属性:Set.prototype.size:返回Set实例的长度
  方法
    ①.add(value):添加某个值,并返回Set结构本身
    ②.delete(value):删除某个值,并返回布尔值,表示删除结果是否成功
    ③.has(value):返回一个布尔值,表示Set实例是否含有该成员
    ④clear():消除所有成员,无返回值
  Tips:Set可以用来去除数组中的重复元素:

let res = [...new Set(array)];
let res2 = Array.from(new Set(array));

三、遍历操作

  Set结构没有键名,只有键值,所以keys()方法和values()方法完全一致。同时Set结构的实例默认可遍历,其默认遍历器生成函数就是它的values方法:

Set.prototype[Symbol.iterator] === Set.prototype.values

  这意味着可以省略values方法,直接用for...of循环遍历Set:

for (let x of set){
  console.log(x);
}

  此外Set结构的实例可以用forEach方法对于每个成员执行操作:

set.forEach((value)=>console.log(value*2));

相关文章

  • 详解ES6中的 Set Map 数据结构学习总结

    ES6中的 Set 数据结构 ES6 新增了一种 Set 数据结构。它类似数组。 最重要的一点是 Set中的结构成...

  • ES6中的Set和Map

    ES6中新增了Set、WeakSet、Map、WeakMap数据结构 一、Set Set是类似数组的数据结构,和数...

  • ES6系列之Set和Map

    今天,我们来学习一下ES6中新增的两个数据结构:Set和Map。 Set ES6 提供了新的数据结构 Set。它类...

  • 数组去重有几种方式?

    方法一:遍历比较 方法二:ES6:Set set ES6 提供新的数据结构 Set。它类似于数组,但是成员的值都是...

  • Set 和 Map 数据结构

    Set WeakSet Map WeakMap Set § ⇧ 基本用法 § ⇧ ES6 提供了新的数据结构 Se...

  • JavaScript中的Array、Set和Map

    数组、Set和Map比较 都是JavaScript的数据结构 Set是ES6提供的新的数据结构, 类似于数组, 但...

  • es6 Set

    ES6提供了数据结构Set。类似于数组,但是没有重复值。 Set本身是一个构造函数,用来生成Set数据结构 数组的...

  • JS 常见的几种去重方法及原理

    # 1. ES6 语法 new Set() 方法去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的...

  • JS 中常见的几种去重方法

    # 1. ES6 语法 new Set() 方法去重 ES6 提供了新的数据结构 Set。它类似于数组,但是成员的...

  • js 数组去重(es6)方法

    方法(es6) 利用set数据结构成员唯一方法

网友评论

      本文标题:ES6 数据结构-Set

      本文链接:https://www.haomeiwen.com/subject/vsmsmqtx.html