1. 程式人生 > >11.Set 和 Map數據結構

11.Set 和 Map數據結構

console each 表示 數組 weak 操作方法 cto delet 用法

1.set

基本用法

ES6 提供了新的數據結構 Set。它類似於數組,但是成員的值都是唯一的,沒有重復的值。

Set 本身是一個構造函數,用來生成 Set 數據結構。

const s = new Set();
[2, 3, 5, 4, 5, 2, 2].forEach(x => s.add(x));
for (let i of s) {
  console.log(i);
}
// 2 3 5 4

2.WeakSet

Set 結構的實例有以下屬性。

  • Set.prototype.constructor:構造函數,默認就是Set函數。
  • Set.prototype.size:返回Set實例的成員總數。

Set 實例的方法分為兩大類:操作方法(用於操作數據)和遍歷方法(用於遍歷成員)。下面先介紹四個操作方法。

  • add(value):添加某個值,返回Set結構本身。
  • delete(value):刪除某個值,返回一個布爾值,表示刪除是否成功。
  • has(value):返回一個布爾值,表示該值是否為Set的成員。
  • clear():清除所有成員,沒有返回值。

上面這些屬性和方法的實例如下。

s.add(1).add(2).add(2);
// 註意2被加入了兩次

s.size // 2

s.has(
1) // true s.has(2) // true s.has(3) // false s.delete(2); s.has(2) // false

3.Map

4.WeakMap

11.Set 和 Map數據結構