Set 對象和WeakSet對象

  Set對象是值的集合,你能夠按照插入的順序迭代它的元素。 Set中的元素只會出現一次,即 Set 中的元素是惟一的,一種有效去重方式.數組

const set1 = new Set([1, 2, 3, 4, 5]);

console.log(set1.has(1));

Set.prototype.add(value)函數

Set對象尾部添加一個元素。返回Set對象。this

Set.prototype.clear()移除Set對象內的全部元素。spa

Set.prototype.delete(value)移除Set的中與這個值相等的元素,返回Set.prototype.has(value)在這個操做前會返回的值(即若是該元素存在,返回true,不然返回false)。Set.prototype.has(value)在此後會返回false。prototype

Set.prototype.entries()返回一個新的迭代器對象,該對象包含Set對象中的按插入順序排列的全部元素的值的[value, value]數組。爲了使這個方法Map對象保持類似, 每一個值的鍵和值相等。翻譯

Set.prototype.forEach(callbackFn[, thisArg])按照插入順序,爲Set對象中的每個值調用一次callBackFn。若是提供了thisArg參數,回調中的this會是這個參數。code

Set.prototype.has(value)返回一個布爾值,表示該值在Set中存在與否。對象

Set.prototype.keys()values()方法相同,返回一個新的迭代器對象,該對象包含Set對象中的按插入順序排列的全部元素的值。blog

Set.prototype.values()返回一個新的迭代器對象,該對象包含Set對象中的按插入順序排列的全部元素的值。繼承

Set.prototype[@@iterator]()返回一個新的迭代器對象,該對象包含Set對象中的按插入順序排列的全部元素的值。

 

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Set

 

WeakSet

new WeakSet([iterable]);

若是傳遞了可迭代對象,則其全部元素都將添加到新對象中WeakSet。null被視爲未定義

屬性

  • WeakSet.length: 0

  • WeakSet.prototype

    表示WeakSet構造函數的原型。容許向全部WeakSet對象添加屬性。

方法

全部WeakSet實例都繼承自WeakSet.prototype。

  • WeakSet.prototype.constructor

  • WeakSet.prototype.add(value)

  • WeakSet.prototype.has(value)

  • WeakSet.prototype.delete(value)

var ws = new WeakSet()
console.log(ws);
var obj = {a:1}
ws.add(obj)
var ws2 = ws.has(obj)
console.log(ws2);
相關文章
相關標籤/搜索