es6 set的使用

似于數(shù)組,但它的一大特性就是所有元素都是唯一的,沒有重復(fù)。
我們可以利用這一唯一特性進(jìn)行數(shù)組的去重工作。
1.set是一種數(shù)據(jù)結(jié)構(gòu),可以認(rèn)為是數(shù)組;
2.set里面添加的對象即使相同也是不相等的,例如:set.add({}); set.add({}); 可以同時存在;
3.Set.prototype.constructor,構(gòu)造函數(shù),默認(rèn)是set函數(shù);
4.Array.from方法可以將set結(jié)構(gòu)轉(zhuǎn)化為數(shù)組;
Array.from(new Set([...a,...b]))

es6 set方法可分為兩大類:
1、操作方法(用于數(shù)據(jù)操作)“add(value)”、“delete(value)”、“has(value)”、clear();

add(value)    添加數(shù)據(jù),并返回新的 Set 結(jié)構(gòu)
delete(value)   刪除數(shù)據(jù),返回一個布爾值,表示是否刪除成功
has(value)    查看是否存在某個數(shù)據(jù),返回一個布爾值
clear()      清除所有數(shù)據(jù),沒有返回值

let set = new Set([1, 2, 3, 4, 4]);
// 添加數(shù)據(jù) 5
let addSet = set.add(5);
console.log(addSet); // Set(5) {1, 2, 3, 4, 5}
// 刪除數(shù)據(jù) 4s
let delSet = set.delete(4);
console.log(delSet); // true 此處返回值是個boolean 表示 是否刪除成功
// 查看是否存在數(shù)據(jù) 4
let hasSet = set.has(4);
console.log(hasSet); // false
// 清除所有數(shù)據(jù)
set.clear();
console.log(set); // Set(0) {}

2、遍歷方法(用于遍歷數(shù)據(jù))keys()、values()、entries()、forEach()。

keys()     返回一個鍵名的遍歷器
values()    返回一個鍵值的遍歷器
entries()    返回一個鍵值對的遍歷器
forEach()   使用回調(diào)函數(shù)遍歷每個成員

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

Set的屬性

常用的屬性就一個:size--返回 Set 實(shí)例的成員總數(shù)。

let s = new Set([1, 2, 3]);
console.log( s.size ); // 3
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 你可能問,都2021年了,咋還在討論Set基礎(chǔ)知識?這不是Vue 3.0來了么,2021年就可以上生產(chǎn)了,Vue ...
    microkof閱讀 684評論 0 0
  • Set 基本用法 ES6提供了新的數(shù)據(jù)結(jié)構(gòu)Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。Set本身是...
    oWSQo閱讀 883評論 0 1
  • 似于數(shù)組,但它的一大特性就是所有元素都是唯一的,沒有重復(fù)。我們可以利用這一唯一特性進(jìn)行數(shù)組的去重工作。 實(shí)例方法 ...
    前端胡歌閱讀 302評論 0 0
  • (一) set 數(shù)據(jù)結(jié)構(gòu) ES6 提供了新的數(shù)據(jù)結(jié)構(gòu) Set。它類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。...
    woow_wu7閱讀 1,123評論 1 1
  • Set類似于數(shù)組,但是成員的值都是唯一的,沒有重復(fù)的值。它本身就是一個構(gòu)造函數(shù),用來生成Set數(shù)據(jù)結(jié)構(gòu): 例1通過...
    汶沐閱讀 323評論 0 0

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