【发布时间】:2015-09-14 01:59:25
【问题描述】:
你会怎么做?本能地,我想做:
var myMap = new Map([["thing1", 1], ["thing2", 2], ["thing3", 3]]);
// wishful, ignorant thinking
var newMap = myMap.map((key, value) => value + 1); // Map { 'thing1' => 2, 'thing2' => 3, 'thing3' => 4 }
我没有从documentation on the new iteration protocol 收集到太多信息。
我知道wu.js,但我正在运行一个Babel 项目并且不想包含Traceur,即it seems like it currently depends on。
对于如何将how fitzgen/wu.js did it 提取到我自己的项目中,我也有点不知所措。
希望对我在这里缺少的内容进行清晰、简洁的解释。谢谢!
Docs for ES6 Map,仅供参考
【问题讨论】:
-
你能用
Array.from吗? -
@minitech 可能有polyfill...没有它就没有办法吗?
-
好吧,你可以编写自己的
map函数用于可迭代对象,使用for of。 -
超级挑剔,但如果你真的要在地图上map,最后你会得到一个地图。否则,您只是首先将 Map 转换为 Array 并映射到 Array,而不是 .map() 映射 Map。您可以使用 ISO 轻松映射 Map:dimap(x=>[...x], x=> new Map(x));
-
@Ry 好吧,我们可能可以编写自己的编程语言,但是为什么..?这是相当简单的事情,并且在大多数编程语言中都存在了几十年。