为什么Map没有Map方法?
Why doesn't Map have a map method?
为了"映射"一个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
相关文章:
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- 在 Array.map() 中调用类方法
- 如何将回调函数添加到 .map 方法
- 下划线.js .map 方法会中断 IE8
- 使用map方法将javascript对象数组转换为其他对象数组
- 在 mongo map 中调用外部 javascript 函数(对象)或减少上下文的可能方法
- 使用类似于 Array.prototype.map() 的方法将数组转换为键值对象
- 获取对象 #
- 如何使用jquery、json和自定义数据属性将map方法嵌套在map方法中
- 在map方法中获取数组键
- ES6中的map方法和lodash的区别是什么?
- 从Map方法中有条件返回对象
- javascript开发人员在什么情况下使用map()方法?
- 为什么Map没有Map方法?
- 在javascript的.map()方法中使用迭代器和if语句
- rails上的ruby-json上的.map方法,使用Javascript中的parent和wthout
- Map方法更改旧数组
- 在下划线/lodash中,如何避免在“map”方法中重复计算
- 在map()方法中更改对象数组中每个属性的值
- 凯撒密码在Javascript中使用shiftChar()函数和Array.map()方法