javascript - ES6 Map 的 Array.map 等价物是什么?

标签 javascript ecmascript-6

<分区>

所以我可以在数组上调用 map() 来遍历它并返回另一个数组,如下所示:

[1,2,3].map( (value, index) => value * index )

如果我想对 Map object 做同样的事情怎么办? ?

var myMap = new Map();
myMap.set(0, 1);
myMap.set(1, 2);
myMap.set(2, 3);

这是无效的:

myMap.map( (value, index) => value * index )

有一个 forEach 但不一样。

是否有一种从 Map 生成数组的快捷方式,就像 map() 对数组所做的那样?

——希望这句话是有道理的。

最佳答案

如果结果必须是一个数组,那么你可以使用 Array.from()Map.prototype.entries() :

Array.from(myMap.entries()).map(([key, value]) => key * value)

或者你可以 spread迭代器:

[...myMap.entries()].map(...)

关于javascript - ES6 Map 的 Array.map 等价物是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32264055/

相关文章:

javascript - 展平深度嵌套的对象数组

javascript - 如何使用 Object.keys 和过滤来转换此对象

javascript - 如何检查对象数组中的缺失值并使用特殊字符添加缺失值

javascript - React-Native 导入库并在多个组件中可用

javascript - Annyang in React - 最佳实践

javascript - Node.js 多线程 : What are Worker threads and how does it work?

javascript - iframe问题和覆盖

javascript - 如何在 jQueryUI selectable 中捕获选择事件?

javascript - 如何映射来自 REST 调用的响应?

javascript - 如何修复以下 JavaScript 代码以使其与 Flowtype 一起使用?