Javascript 使用lodash拾取贴图/深拾取
有没有办法编写这种拾取/映射操作Javascript 使用lodash拾取贴图/深拾取,javascript,arrays,lodash,Javascript,Arrays,Lodash,有没有办法编写这种拾取/映射操作 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]
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)的对象数组。您可以使用\uUat()
使用索引数组获取值数组:
const-edges=[[0,1],[1,0]];
常量顶点=[[0,0],[1,1]];
const result=edges.map(v=>(顶点,v));
log(JSON.stringify(result))代码>
请添加输入数据的示例,以及预期的结果很棒,正是我想要的,欢迎:)