對象:Set

ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復的值。

Set 本身是一個構(gòu)造函數(shù),用來生成 Set 數(shù)據(jù)結(jié)構(gòu)

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

Set的實例

Set 函數(shù)可以接受一個數(shù)組(或者具有 iterable 接口的其他數(shù)據(jù)結(jié)構(gòu))作為參數(shù),用來初始化。

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

它類似于精確相等運算符(===),主要的區(qū)別是NaN等于自身,

let set = new Set();
let a = NaN;
let b = NaN;
set.add(a);
set.add(b);
set // Set {NaN}

Set 實例的屬性和方法

  • Set.prototype.constructor:構(gòu)造函數(shù),默認就是Set函數(shù)。
  • Set.prototype.size:返回Set實例的成員總數(shù)。
  • add(value):添加某個值,返回 Set 結(jié)構(gòu)本身。
  • 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
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 1.Set 基本用法 ES6提供了新的數(shù)據(jù)結(jié)構(gòu)Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復的值。Set本...
    雨飛飛雨閱讀 1,952評論 0 7
  • 基本用法 es6提供了新的數(shù)據(jù)結(jié)構(gòu)Set,它類似于數(shù)組,但是他的成員值是唯一的,沒有重復的值。Set本身就是一個構(gòu)...
    曼珠沙華_521b閱讀 370評論 0 0
  • 1、Set 1.1概念:ES6提供了新的數(shù)據(jù)結(jié)構(gòu)Set,它類似數(shù)組,但是成員的值都是唯一的。 eg:const s...
    Kris_lee閱讀 2,620評論 0 3
  • 孩子在我身邊翻身我摸著清涼的月光凝視他安靜的眉梢午夜的窗外被卡車聲徹底包裹我坐起來無法安睡誰能不能把明早的太陽注銷...
    小者閱讀 206評論 0 1
  • 這是一次奇妙的心靈之旅,在老師的帶領(lǐng)下,我看到了自己的“心房”,心房是水泥石頭做的房子,墻是堅固的,老師說我防衛(wèi)意...
    Chenxixian閱讀 315評論 0 0

友情鏈接更多精彩內(nèi)容