Javascript有一个Array.prototype.map
,但没有set的等效函数。在Javascript中运行map的推荐方法是什么?
编辑:按要求添加一个示例
users = new Set([1,2,3])
// throws an error:
// Uncaugh TypeError: users.map is not a function
users.map(n => n*n)
Javascript有一个Array.prototype.map
,但没有set的等效函数。在Javascript中运行map的推荐方法是什么?
编辑:按要求添加一个示例
users = new Set([1,2,3])
// throws an error:
// Uncaugh TypeError: users.map is not a function
users.map(n => n*n)
展开语法允许在需要多个参数(用于函数调用),多个元素(用于数组字面量)或多个变量(用于解构赋值)的地方扩展表达式。
如此简单地对Set
进行映射。
const s = new Set([1,2,3,4]);
const a = [...s].map( n => n * 2 )
console.log(a)
Set
构造函数中,因为映射一个 Set
应该返回一个 Set
。但是问题在于重复的返回值:new Set(Array.from(s).map(n => n % 2))
会产生 Set {1, 0}
- 但是映射不应该改变 Set
的结构。 - user6445533
Set
,还是一个新的Map
? - Nina Scholz