为了“映射”Map对象,您首先需要将其解构为数组的数组。这对我来说似乎很反向。
有人可以解释一下背后的设计理念吗?我知道其他语言(如Scala)确实为Maps提供了map方法,所以我试图理解为什么它们在JavaScript中不可用。
这种语法似乎非常复杂和冗长:
有人可以解释一下背后的设计理念吗?我知道其他语言(如Scala)确实为Maps提供了map方法,所以我试图理解为什么它们在JavaScript中不可用。
这种语法似乎非常复杂和冗长:
let mappedMap = new Map(
[...originalMap]
.map(([k, v]) => [k * 2, '_' + v])
);
这难道不可能是这样吗?
let mappedMap = originalMap.map((k, v) => [k * 2, '_' + v]);
let mappedMap = new Map(Array.from(originalMap, ([k, v]) => [k * 2, '_' + v])))
,以避免额外复制数组。同时也很容易地生成可迭代版本。 我猜答案是“因为它总是可以稍后添加的,并且在一个单独的模块中实现也非常简单”。此外,一个普通的Iterable.map
会更有用,但它也缺失了。 - loganfsmyth