set 是es6新出的一種數據結構,里邊放的是數組。 作用:去重(set里邊的數組不能重復)
MDN:Set 對象允許你存儲任何類型的唯一值,無論是原始值或者是對象引用。
總結:
1.成員唯一、無序且不重復;
2.[value, value],鍵值與鍵名是一致的(或者說只有鍵值,沒有鍵名);
3.可以遍歷,方法有:add、delete、has、clear、entries、forEach、keys、values
3.Set也能用來保存NaN和undefined, 如果有重復的NaN, Set會認為就一個NaN(實際上NaN!=NaN);
聲明一個Set
let setArr = new Set(['ananiah','大誒啊','18']); console.log(setArr) //Set(3) {"ananiah", "大誒啊", "18"}
增加
//增加 setArr.add('晴空萬里'); console.log(setArr) //Set(4) {"ananiah", "大誒啊", "18", "晴空萬里"}
查找
//查找 console.log(setArr.has('ananiah')) //true
刪除
//刪除某個 setArr.delete('18'); console.log(setArr) //Set(3) {"ananiah", "大誒啊", "晴空萬里"} //全部刪除 setArr.clear(); console.log(setArr) //Set(0) {}
遍歷
//for...of for(let item of setArr){ console.log(item) //打印全部 } //forEach setArr.forEach(value => console.log(value));
查看長度
//size查看長度 console.log(setArr.size) //3
數組去重
var array = [0,1,1,2,2,5,5,66,99,65,65]; console.log(Array.from(new Set(array))); //Array(7) [0, 1, 2, 5, 66, 99, 65] console.log([...new Set(array)]); //Array(7) [0, 1, 2, 5, 66, 99, 65]