ES6新增Set数据结构

216 阅读1分钟

ES6提供了新的数据结构set(一组数据的集合)

它类似于数组,但它的成员值都是唯一的(无重复的值)。

一 . Set解说:

1. Set本身是一个构造函数,用来生成Set数据结构

           const a = new Set();
           console.log(a.size); // 0   表示数据的数量为 0 ,是一个空的数据结构

2. Set函数可以接收一个数组作为参数,用来初始化

           const arr = [1, 2, 3];
           const b = new Set(arr);
           console.log(b.size); // 3   表示当前数据结构中存储了 3 个值

二 . Set应用(数组去重)

          const c = new Set([1, 1, 2, 2]);
          console.log(c.size);
      //  这样写是伪数组形式:const array = c; 要把它转化成真数组
          const array = [...c];
          console.log(array);

三 . Set的实例方法

1. 向set结构中添加值---add()

返回的是Set结构本身

           const s = new Set();
           s.add("a").add("b");
           console.log(s.size); // 2

2. 从set结构中删除值---delete()

返回的是布尔值

           const s = new Set();
           s.add("a").add("b");
           const r = s.delete("a");
           console.log(r);  // true
           console.log(s.size); // 1

3. 判断某一个值是否是set数据结构中的成员---has()

返回的是布尔值

           const s = new Set();
           s.add("a").add("b");
           const h = s.has("c");
           console.log(h); // false

4. 清空set数据结构中的值---clear()

没有返回值

           const s = new Set();
           s.add("a").add("b");
           const k = s.clear();
           console.log(s.size);  // 0  set数据结构中此时没有数据

四 . 遍历set数据结构(从中取值)

Set结构的实例与数组一样, 也拥有forEach方法,用于对每个成员执行某种操作, 没有返回值

          const z = new Set([1, 2, 3]);
           z.forEach(value => {
               console.log(value);  // 1 2 3
           })

以上笔记very重要!!! image.png