【发布时间】:2018-07-12 06:20:11
【问题描述】:
我正在做一个项目,我经常需要转换 ES6 映射中的每个值:
const positiveMap = new Map(
[
['hello', 1],
['world', 2]
]
);
const negativeMap = new Map<string, number>();
for (const key of positiveMap.keys()) {
negativeMap.set(key, positiveMap.get(key) * -1);
}
只是想知道是否有更好的方法来做到这一点?理想情况下是像Array.map() 这样的单行。
奖励积分(不是真的),如果它在打字稿中编译!
【问题讨论】:
-
@AluanHaddad
.entries()返回一个迭代器,而不是一个键/值对数组。那是行不通的。 -
@PatrickRoberts 你是对的。 (用手击中头部)
-
对于任何关心(关于微基准)的人来说,使用
.forEach手动复制在 V8 上要快一个数量级。原地变异要快另一个数量级。并不是说它真的很重要
标签: javascript typescript es6-map