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' ] }
相關用法
- Javascript Map.clear( )用法及代碼示例
- Javascript Map.delete()用法及代碼示例
- Javascript Map.entries( )用法及代碼示例
- Javascript Map.get( )用法及代碼示例
- Javascript Map.has( )用法及代碼示例
- Javascript Map和WeakMap的區別用法及代碼示例
- Javascript Math.abs( )用法及代碼示例
- Javascript Math.acosh()用法及代碼示例
- Javascript Math.asinh()用法及代碼示例
- Javascript Math.atan2( )用法及代碼示例
- Javascript Math.atanh()用法及代碼示例
- Javascript Math.cbrt()用法及代碼示例
- Javascript Math.ceil( )用法及代碼示例
- Javascript Math.clz32()用法及代碼示例
- Javascript Math.cosh()用法及代碼示例
- Javascript Math.E()用法及代碼示例
- Javascript Math.expm1()用法及代碼示例
- Javascript Math.floor()用法及代碼示例
- Javascript Math.fround( )用法及代碼示例
- Javascript Math.hypot( )用法及代碼示例
- Javascript Math.imul( )用法及代碼示例
- Javascript Math.log10()用法及代碼示例
- Javascript Math.LOG10E用法及代碼示例
- Javascript Math.log1p()用法及代碼示例
注:本文由純淨天空篩選整理自abhish8rzd大神的英文原創作品 How to convert a Map into a Set in JavaScript?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。