有没有办法编写这种拾取/映射操作
edges = edges.map(([v1, v2]) => [vertices[v1], vertices[v2]]);
// example
const edges = [
[0, 1],
[1, 0]
];
const vertices = [
[0, 0],
[1, 1]
];
~~~>
[
[
[0, 0],
[1, 1]
],
[
[1, 1],
[0, 0]
]
]
更优雅,也许使用lodash?
我迄今为止最好的解决方案是这样的:
function pickMap(edges, vertices) {
return ld.invokeMap(edges, "map", ld.propertyOf(vertices));
}
但也许我错过了一些更基本的程序。就像是
edges.map(([v1, v2]) => ld.pick(vertices, [v1, v2]))
很接近,但它返回一个带有错误键 (v1, v2) 而不是 (0, 1) 的对象数组。
潇潇雨雨
相关分类