为什么Map没有Map方法?

Why doesn't Map have a map method?

本文关键字:Map 方法 没有 为什么      更新时间:2023-09-26

为了"映射"一个map对象,你必须首先将它解构为一个数组的数组。这在我看来似乎是倒退了。

谁能给我解释一下这背后的设计原理是什么?我知道Scala等其他语言确实有map方法,所以我试图理解为什么它们在Javascript中不可用。

这个语法看起来太复杂和冗长了:

let mappedMap = new Map( 
  [...originalMap]
  .map(([k, v]) => [k * 2, '_' + v])
);

就不能是这样吗?

let mappedMap = originalMap.map((k, v) => [k * 2, '_' + v]);

ES6上的Map目前被表示为带有键/值系统的可迭代对象。数组映射函数返回一个新数组。我不确定是否可以用这种方式退回新版本。我会在地图上使用forEach并从那里创建新的地图。如果可以的话如果你可以构建一个具有相同功能的函数我也强烈建议你查看immutable.js

相关文章: