一.set結(jié)構(gòu)數(shù)據(jù)
1. set結(jié)構(gòu)的數(shù)據(jù)類似于數(shù)組睬辐,但成員值都是沒有重復(fù)的唯一值挠阁。
s->Set[1,2,3,4]//注意:此時他是set結(jié)構(gòu)數(shù)據(jù)宾肺,不是數(shù)組
二.數(shù)組去重
1. 可以用作數(shù)組去重的功能
let s = new Set([1,2,3,4,'3',1,3,4,3]);
console.log(s);
s->Set[1,2,3,4,'3'];注意此時s為set結(jié)構(gòu)數(shù)據(jù)
2. 將set結(jié)構(gòu)數(shù)據(jù)變成數(shù)組-->擴(kuò)展運(yùn)算符...
let s = new Set([1,2,3,4,'3',1,3,4,3]);
let arr = [...s];
console.log(arr);
arr->Array[1,2,3,4,'3'];
3. 方法二:Array.from()方法可將數(shù)據(jù)轉(zhuǎn)化成數(shù)組
三.set結(jié)構(gòu)數(shù)據(jù)方法
1. add(value);
- s.size獲得set數(shù)據(jù)的長度
let s = new Set([1,2,3,2,3,4]);
console.log(s.size);
-->4
s.add(6);
s.add(6);
s.add(6);
console.log(s);
s-->Set[1,2,3,4,6]
2. delete(value)
let s = new Set([1,2,3,2,3,4]);
s.delete(3);
console.log(s);
s-->Set[1,2,4]
3. has(value)
let s = new Set([1,2,3,2,3,4]);
console.log(s.has(7));
-->false
4. clear()
let s = new Set([1,2,3,2,3,4]);
s.clear();
console.log(s);
-->Set[];
四.set結(jié)構(gòu)數(shù)據(jù)遍歷
-
遍歷器只能用for...of...來遍歷
-
補(bǔ)充:對象中的鍵名和鍵值 eg:{a:1,b:2}-->a,b為鍵名,1,2為鍵值
1. for...of...用來遍歷遍歷器
2. keys()-->將set數(shù)據(jù)里的鍵名全部攏在一起侵俗,再利用for of遍歷
let s = new Set(['a','b','c','b','d','a']);
for ( x of s.keys()){
console.log(x);
}
-->a b c d
- set數(shù)據(jù)不分鍵名和鍵值锨用,所以keys和values一樣
3. values()
let s = new Set(['a','b','c','b','d','a']);
for ( x of s.values()){
console.log(x);
}
-->a b c d
4.entries();鍵值對指鍵名與鍵值的集合
let s = new Set(['a','b','c','b','d','a']);
for ( x of s.entries()){
console.log(x);
}
-->Array['a','a']
Array['b','b']
Array['c','c']
Array['d','d']
5. forEach();與數(shù)組forEach()循環(huán)方法一樣