首頁  >  文章  >  web前端  >  es6 set方法有哪些

es6 set方法有哪些

青灯夜游
青灯夜游原創
2021-09-03 15:55:065634瀏覽

es6 set方法可分為兩大類:1、操作方法「add(value)」、「delete(value)」、「has(value)」、clear();2、遍歷方法keys ()、values()、entries()、forEach()。

es6 set方法有哪些

本教學操作環境:windows7系統、ECMAScript 6版、Dell G3電腦。

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

很多時候我們把Set叫做 集合,但是,Set可以是集合,集合不一定是Set。

特性:唯一性=>不重複=>能夠對資料進行去重操作。

建立Set

Set 本身就是一個建構函數,呼叫建構函式用來產生 Set 資料結構。

关键词 标识符 = new Set();

範例 

let i = new Set();

Set 函數可以接受一個陣列(或類似陣列的物件)作為參數,用來進行資料初始化。

let i = new Set([1, 2, 3, 4, 4]);  //会得到  set{1, 2, 3, 4,}

註:如果初始化時給的值有重複的,會自動移除。集合並沒有字面量聲明方式,只能用new關鍵字來聲明。

Set的屬性

常用的屬性就一個:size--傳回 Set 實例的成員總數。

let s = new Set([1, 2, 3]);
console.log( s.size ); // 3

Set的方法

Set 實例的方法分為兩大類:操作方法(用於資料操作)和遍歷方法(用於遍歷數據)。

操作方法:

  • add(value)    新增數據,並傳回新的Set 結構

  • #delete(value)   刪除數據,傳回一個布林值,表示是否刪除成功

  • ##has(value)    查看是否存在某個數據,並傳回一個布林值

  • clear()      清除所有數據,沒有回傳值

  • let set = new Set([1, 2, 3, 4, 4]);
    // 添加数据 5
    let addSet = set.add(5);
    console.log(addSet); // Set(5) {1, 2, 3, 4, 5}
    
    // 删除数据 4s
    let delSet = set.delete(4);
    console.log(delSet); // true 此处返回值是个boolean 表示 是否删除成功
    
    // 查看是否存在数据 4
    let hasSet = set.has(4);
    console.log(hasSet); // false
    
    // 清除所有数据
    set.clear();
    console.log(set); // Set(0) {}

遍歷方法:

#Set 提供了三個遍歷器產生函數和一個遍歷方法。

  • keys()     傳回一個鍵名的遍歷器

  • values()    傳回一個鍵值的遍歷器

##################################################### ######entries()    傳回一個鍵值對的遍歷器############forEach()   使用回呼函數遍歷每個成員#########
let color = new Set(["red", "green", "blue"]);
for(let item of color.keys()){
 console.log(item);
}
// red
// green
// blue
for(let item of color.values()){
 console.log(item);
}
// red
// green
// blue
for(let item of color.entries()){
 console.log(item);
}
// ["red", "red"]
// ["green", "green"]
// ["blue", "blue"]
color.forEach((item) => {
 console.log(item)
})
// red
// green
// blue
# ##【推薦學習:###javascript進階教學###】###

以上是es6 set方法有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn