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?。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。