Ben*_*Ben 1 javascript ecmascript-6
所以我可以调用map()一个数组来迭代它并返回另一个数组,如下所示:
[1,2,3].map( (value, index) => value * index )
Run Code Online (Sandbox Code Playgroud)
如果我想在Map对象上做同样的事情怎么办?
var myMap = new Map();
myMap.set(0, 1);
myMap.set(1, 2);
myMap.set(2, 3);
Run Code Online (Sandbox Code Playgroud)
这是无效的:
myMap.map( (value, index) => value * index )
Run Code Online (Sandbox Code Playgroud)
有一个forEach,但那不一样.
是否有一种从a生成数组的快速简写方法Map,就像map()在数组上一样?
- 希望这句话有道理.
zer*_*kms 10
如果结果必须是数组,那么您可以使用Array.from()和Map.prototype.entries():
Array.from(myMap.entries()).map(([key, value]) => key * value)
Run Code Online (Sandbox Code Playgroud)
或者你可以传播迭代器:
[...myMap.entries()].map(...)
Run Code Online (Sandbox Code Playgroud)