gpt4 book ai didi

javascript - Ramda 中的分组叉积

转载 作者:行者123 更新时间:2023-11-29 16:38:23 24 4
gpt4 key购买 nike

我想做 FP 等效的(伪代码):

var l1 = [ '1', '2', '3' ];
var l2 = [ 'a', 'b', 'c' ];

var table = []
for i in l1 {
var row = [];
for j in l2 {
row.push([i, j]);
}
table.push(row);
}

生成表==:

[
[["1", "a"], ["1", "b"], ["1", "c"]],
[["2", "a"], ["2", "b"], ["2", "c"]],
[["3", "a"], ["3", "b"], ["3", "c"]]
]

我是通过以下方法实现的:

const headEquals = (x,y) => R.equals(R.head(x), R.head(y));

const transform = R.compose(
R.groupWith(headEquals),
R.xprod
);

const table = transform(l1,l2);

...但感觉并不优雅 - xprod 生成的中间数据结构正在丢弃输入中的结构,然后我们通过进行大量 equals 比较来重新计算。

在 Ramda 中实现此目标的更好方法是什么?

最佳答案

关于javascript - Ramda 中的分组叉积,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49153469/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com