这个收敛和配对的 shorthand 是多少?
What is the shorthand for this converge and pair?
R.converge(R.pair, [
R.filter(x => x & 1),
R.reject(x => x & 1)
])
是否有更简单的图书馆内方法来拆分奇数和偶数?
我对接受除法函数的 Ramda 解决方案(而不是创建新函数)特别感兴趣。
更新
以下是愚蠢的。 partition
中有一个更好的解决方案,我暂时忘记了。
partition(n => n & 1, [8, 6, 7, 5, 3, 0, 9]); //=> [[7, 5, 3, 9], [8, 6, 0]]
这也会恢复您的原始订单。
原文,已取代,回答
groupBy
可能是最接近的。 groupBy(modulo(__, 2))
会让你接近。
但它的输出与你的有些不同。你可以用 values
组合它来得到一个很像你的版本的:
const parties = compose(values, groupBy(modulo(__, 2)))
parities([8, 6, 7, 5, 3, 0, 9]); //=> [[8, 6, 0], [7, 5, 3, 9]]
您可以在 Ramda Repl 上看到这一点。
R.converge(R.pair, [
R.filter(x => x & 1),
R.reject(x => x & 1)
])
是否有更简单的图书馆内方法来拆分奇数和偶数?
我对接受除法函数的 Ramda 解决方案(而不是创建新函数)特别感兴趣。
更新
以下是愚蠢的。 partition
中有一个更好的解决方案,我暂时忘记了。
partition(n => n & 1, [8, 6, 7, 5, 3, 0, 9]); //=> [[7, 5, 3, 9], [8, 6, 0]]
这也会恢复您的原始订单。
原文,已取代,回答
groupBy
可能是最接近的。 groupBy(modulo(__, 2))
会让你接近。
但它的输出与你的有些不同。你可以用 values
组合它来得到一个很像你的版本的:
const parties = compose(values, groupBy(modulo(__, 2)))
parities([8, 6, 7, 5, 3, 0, 9]); //=> [[8, 6, 0], [7, 5, 3, 9]]
您可以在 Ramda Repl 上看到这一点。