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


Javascript Set轉Map用法及代碼示例


A 是獨特值的集合。它僅以值的形式存儲數據,而Map可以以鍵值對的形式存儲數據。

以下是在 JavaScript 中將 Set 轉換為 Map 的不同方法:

使用Array.from()方法

Array from()方法可用於將 Set 轉換為 Map,方法是傳遞 Map 和回調函數以將 Map 的鍵和值設置為該方法的參數。

用法:

Array.from(setName, ()=>{});

例子:下麵的代碼示例使用 Array.from() 方法將 Set 轉換為 Map。

Javascript


const dummySet = new Set();
dummySet.add('GeeksforGeeks');
dummySet.add('Virat Kohli');
console.log("Initial Set: ", dummySet);
const createdMap = new Map(Array.from
(dummySet, value => [value.length, value]));
console.log("Created Map: ", createdMap);
輸出
Initial Set:  Set(2) { 'GeeksforGeeks', 'Virat Kohli' }
Created Map:  Map(2) { 13 => 'GeeksforGeeks', 11 => 'Virat Kohli' }

將 Spread 運算符與 map() 方法結合使用

擴展運算符用於傳播Set的數據和Array map()將用於迭代它們以將它們存儲在空 Map 中。

用法:

[...setName].map(()=>{});

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

Javascript


const dummySet = new Set();
dummySet.add('GeeksforGeeks');
dummySet.add('Virat Kohli');
console.log("Initial Set: ", dummySet);
const createdMap = new Map([...dummySet].
map((item)=>[item.length, item]));
console.log("Created Map: ", createdMap);
輸出
Initial Set:  Set(2) { 'GeeksforGeeks', 'Virat Kohli' }
Created Map:  Map(2) { 13 => 'GeeksforGeeks', 11 => 'Virat Kohli' }

使用reduce()方法

JavaScriptArray reduce()當與擴展運算符一起使用時,可用於將 Set 轉換為 Map。

用法:

[...setName].reduce(()=>{});

例子:下麵的代碼顯示了 reduce() 方法將 Set 轉換為 Map 的實際實現。

Javascript


const dummySet = new Set();
dummySet.add('GeeksforGeeks');
dummySet.add('Virat Kohli');
console.log("Initial Set: ", dummySet);
const createdMap = [...dummySet].
reduce((map, item)=> 
map.set(item.length, item), new Map());
console.log("Created Map: ", createdMap);
輸出
Initial Set:  Set(2) { 'GeeksforGeeks', 'Virat Kohli' }
Created Map:  Map(2) { 13 => 'GeeksforGeeks', 11 => 'Virat Kohli' }

使用forEach()方法

Array forEach()方法可以迭代Set中的每個元素,將它們一一設置為Map的鍵值對。

用法:

setName.forEach(()=>{});

例子:下麵的代碼可用於使用 forEach() 方法將 Set 轉換為 Map。

Javascript


const dummySet = new Set();
dummySet.add('GeeksforGeeks');
dummySet.add('Virat Kohli');
console.log("Initial Set: ", dummySet);
const createdMap = new Map();
dummySet.forEach((item) => 
createdMap.set(item.length, item));
console.log("Created Map: ", createdMap);
輸出
Initial Set:  Set(2) { 'GeeksforGeeks', 'Virat Kohli' }
Created Map:  Map(2) { 13 => 'GeeksforGeeks', 11 => 'Virat Kohli' }

使用 for of 循環

for 循環可以用來一一獲取Set的項,然後使用以下方法將它們設置為Map的鍵值對Map set().

用法:

for(const itemName of setName){}

例子:下麵的代碼實現了 for of 循環,以在 JavaScript 中將 Set 轉換為 Map。

Javascript


const dummySet = new Set();
dummySet.add('GeeksforGeeks');
dummySet.add('Virat Kohli');
console.log("Initial Set: ", dummySet);
const createdMap = new Map();
for(const item of dummySet){
    createdMap.set(item.length, item);
}
console.log("Created Map: ", createdMap);
輸出
Initial Set:  Set(2) { 'GeeksforGeeks', 'Virat Kohli' }
Created Map:  Map(2) { 13 => 'GeeksforGeeks', 11 => 'Virat Kohli' }



相關用法


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