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' }
相關用法
- Javascript Set轉Array用法及代碼示例
- Javascript Set.clear()和Set.delete()的區別用法及代碼示例
- Javascript String.fromCharCode()用法及代碼示例
- Javascript String.fromCodePoint()用法及代碼示例
- Javascript Symbol.for()用法及代碼示例
- Javascript Symbol.hasInstance用法及代碼示例
- Javascript Symbol.keyFor()用法及代碼示例
- Javascript String()用法及代碼示例
- Javascript Sort()用法及代碼示例
- Javascript String includes()用法及代碼示例
- Javascript String substr()用法及代碼示例
- Javascript String trim()用法及代碼示例
- Javascript String startsWith()用法及代碼示例
- Javascript String lastIndexOf()用法及代碼示例
- Javascript String toUpperCase()用法及代碼示例
- Javascript String toLowerCase()用法及代碼示例
- Javascript String split()用法及代碼示例
- Javascript String indexOf()用法及代碼示例
- Javascript String endsWith()用法及代碼示例
- Javascript String concat()用法及代碼示例
- Javascript String charAt()用法及代碼示例
- Javascript Symbol.search用法及代碼示例
- Javascript Symbol.match用法及代碼示例
- Javascript Symbol.replace用法及代碼示例
- Javascript Symbol.split用法及代碼示例
注:本文由純淨天空篩選整理自abhish8rzd大神的英文原創作品 How to convert a Set to Map in JavaScript?。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。