當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Javascript Map轉Set用法及代碼示例


Map JavaScript 中的數據結構是一種特殊的數據結構,僅保存唯一的數據。其中不會存儲重複的數據。 Map 以鍵值對的形式存儲數據,而 Set 僅以值的形式存儲。在某些場景下,您需要將Map轉換為Set,此時您可以使用以下方法進行轉換。

將 Map 鍵轉換為 Set

您可以創建一個其中包含的鍵Map作為值使用Object keys() Map 上的方法來獲取其鍵並將它們存儲為 Set 的值。

用法:

mapName.keys();

例子:下麵的代碼解釋了keys()方法將Map的鍵轉換為Set的實際用途。

Javascript


const dummyMap = new Map();
dummyMap.set('type1', 'Company');
dummyMap.set('name1', 'GeeksforGeeks');
dummyMap.set('type2', 'Cricketer');
dummyMap.set('name2', 'Virat Kohli');
console.log("Initial Map: ", dummyMap);
const createdSet = new Set(dummyMap.keys());
console.log("Created Keys Set: ", createdSet);
輸出
Initial Map:  Map(4) {
  'type1' => 'Company',
  'name1' => 'GeeksforGeeks',
  'type2' => 'Cricketer',
  'name2' => 'Virat Kohli'
}
Created Keys Set:  Set(4) { 'type1', 'name1', 'type2', 'name2' }


將 Map 值轉換為 Set

Object values() 方法可以與 Map 一起使用來獲取其值並將它們作為其值存儲到 Set 中。此方法會將 Map 值轉換為 Set。

用法:

mapName.values();

例子:下麵的代碼實現了values()方法使用 Map 將其值轉換為 Set 值。

Javascript


const dummyMap = new Map();
dummyMap.set('type1', 'Company');
dummyMap.set('name1', 'GeeksforGeeks');
dummyMap.set('type2', 'Cricketer');
dummyMap.set('name2', 'Virat Kohli');
console.log("Initial Map: ", dummyMap);
const createdSet = new Set(dummyMap.values());
console.log("Created Values Set: ", createdSet);
輸出
Initial Map:  Map(4) {
  'type1' => 'Company',
  'name1' => 'GeeksforGeeks',
  'type2' => 'Cricketer',
  'name2' => 'Virat Kohli'
}
Created Values Set:  Set(4) { 'Company', 'GeeksforGeeks', 'Cricketer...

將映射的鍵和值轉換為集合

還可以使用以下命令創建包含 Map 的鍵和值作為值的 SetObject entries() 方法獲取 Map 鍵和值並將它們存儲到 Set 中。

用法:

mapName.entries();

例子:下麵的代碼是將Map轉換為Set的entries()方法的實際實現。

Javascript


const dummyMap = new Map();
dummyMap.set('name1', 'GeeksforGeeks');
dummyMap.set('name2', 'Virat Kohli');
console.log("Initial Map: ", dummyMap);
const createdSet = new Set(dummyMap.entries());
console.log
("Created Set of Keys and Values: \n", createdSet);
輸出
Initial Map:  Map(2) { 'name1' => 'GeeksforGeeks', 'name2' => 'Virat Kohli' }
Created Set of Keys and Values: 
 Set(2) { [ 'name1', 'GeeksforGeeks' ], [ 'name2', 'Virat Kohli' ] }

使用擴展運算符語法

擴展運算符可用於解構 Map 的鍵和值對,然後將其作為值存儲到 Set 中。

用法:

[...mapName];

例子:下麵的代碼使用展開運算符將 Map 轉換為 Set。

Javascript


const dummyMap = new Map();
dummyMap.set('name1', 'GeeksforGeeks');
dummyMap.set('name2', 'Virat Kohli');
console.log("Initial Map: ", dummyMap);
const createdSet = new Set([...dummyMap]);
console.log("Created Set: ", createdSet);
輸出
Initial Map:  Map(2) { 'name1' => 'GeeksforGeeks', 'name2' => 'Virat Kohli' }
Created Set:  Set(2) { [ 'name1', 'GeeksforGeeks' ], [ 'name2', 'Virat Kohli' ] }

使用Array.from()方法

Array from()方法還可以通過將 Map 作為參數傳遞給它來將 Map 轉換為 Set。

用法:

Array.from(mapName);

例子:下麵的代碼實現了 Array.from() 方法將 Map 轉換為 Set。

Javascript


const dummyMap = new Map();
dummyMap.set('name1', 'GeeksforGeeks');
dummyMap.set('name2', 'Virat Kohli');
console.log("Initial Map: ", dummyMap);
const createdSet = 
new Set(Array.from(dummyMap));
console.log("Created Set: ", createdSet);
輸出
Initial Map:  Map(2) { 'name1' => 'GeeksforGeeks', 'name2' => 'Virat Kohli' }
Created Set:  Set(2) { [ 'name1', 'GeeksforGeeks' ], [ 'name2', 'Virat Kohli' ] }



相關用法


注:本文由純淨天空篩選整理自abhish8rzd大神的英文原創作品 How to convert a Map into a Set in JavaScript?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。