1. 程式人生 > 其它 >Set集合和Map集合

Set集合和Map集合

技術標籤:ES6js

Set集合

用於存放不重複的資料,通過建構函式的形式 引數必須是一個可迭代物件

建立Set物件

const s1 = new Set("aabbccdef");
console.log(s1);

在這裡插入圖片描述

Set集合方法

  1. add(),新增一個數據
  2. has(),判斷資料是否存在,存在返回true
  3. delete(),刪除資料,刪除成功返回true
  4. clear(),清空集合
  5. 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集合

以鍵值對形式進行儲存,鍵名不能重複
它儲存有三個注意點:

  1. 鍵名只能是字串
  2. 獲取物件的數量不方便
  3. 鍵名容易和原型上的方法名發生衝突

建立Map物件
引數傳遞的形式一般為二維陣列的形式,陣列的子陣列只能有兩項,第一項為鍵名,第二項為值

const map = new Map([
    ["a", 123],
    ["b"
, 456], ["c", 789] ]); console.log(map);

在這裡插入圖片描述
Map集合方法

  1. set(),新增資料,兩個引數[鍵名,鍵值]
  2. get(),獲取資料,引數是鍵名,返回鍵值
  3. delete(),刪除資料,刪除成功返回true
  4. clear(),清空集合
  5. 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集合方法的引數需要注意

  1. set方法是兩個引數,第一個引數是鍵名,第二個引數是鍵值
  2. get方法引數是傳入的鍵名,返回的是鍵值,沒有鍵名返回的是undefined,和has方法不一樣