Set集合和Map集合
阿新 • • 發佈:2021-02-10
Set集合
用於存放不重複的資料,通過建構函式的形式 引數必須是一個可迭代物件
建立Set物件
const s1 = new Set("aabbccdef");
console.log(s1);
Set集合方法
- add(),新增一個數據
- has(),判斷資料是否存在,存在返回true
- delete(),刪除資料,刪除成功返回true
- clear(),清空集合
- size,這個是屬性,返回的是集合長度,只能讀不能改
const s1 = new Set('aabbccdef');
s1.add('g');
console.log(s1);//{"a","b","c","d","e","f","g"}
console.log(s1.has('g'));//true
//console.log(s1.delete('g'));//true
console.log(s1.size);//6
s1.clear();
console.log(s1.size);//0
Map集合
以鍵值對形式進行儲存,鍵名不能重複
它儲存有三個注意點:
- 鍵名只能是字串
- 獲取物件的數量不方便
- 鍵名容易和原型上的方法名發生衝突
建立Map物件
引數傳遞的形式一般為二維陣列的形式,陣列的子陣列只能有兩項,第一項為鍵名,第二項為值
const map = new Map([
["a", 123],
["b" , 456],
["c", 789]
]);
console.log(map);
Map集合方法
- set(),新增資料,兩個引數[鍵名,鍵值]
- get(),獲取資料,引數是鍵名,返回鍵值
- delete(),刪除資料,刪除成功返回true
- clear(),清空集合
- has(),判斷資料是否存在,存在返回true
const map = new Map([
["a", 123],
["b", 456],
["c", 789]
]);
map.set('d', 111);
console.log (map.get('a'));//123
console.log(map.size);//4
其它的方法和set集合一樣
Map集合方法的引數需要注意
- set方法是兩個引數,第一個引數是鍵名,第二個引數是鍵值
- get方法引數是傳入的鍵名,返回的是鍵值,沒有鍵名返回的是undefined,和has方法不一樣