【发布时间】:2019-06-09 14:37:38
【问题描述】:
我的代码有一个元素数组如下:
element: { fromX: { id: ... } , toX: { id: ... } }
要求是将所有fromX id 拉到一个数组中,并将所有toX id 拉到另一个数组中。
有几种不同的方法,
比如使用foreach、reduce,分别为每个迭代,但我正在寻找一种最佳的函数方式来返回一个映射的两个数组?
【问题讨论】:
-
一个对象是否只有两个属性?
-
能否提供更全面的输入输出?谢谢。
-
您期望得到什么?包含两个具有映射值的数组的数组?
-
您能否再扩展一下示例代码以显示完整的结构?即,当显示多个
fromX和fromY值时会是什么样子? -
[froms, tos] = transpose(elements.map(e => [e.fromX, e.toX]))是函数式的方式——不幸的是,JS 中没有原生的transpose函数
标签: javascript ecmascript-6 functional-programming reduce