gpt4 book ai didi

javascript - 避免在 Ramda 中进行双重连接

转载 作者:可可西里 更新时间:2023-11-01 02:53:31 25 4
gpt4 key购买 nike

我的问题很简单。我从 Ramda 开始最近,我喜欢它,因为它是纯功能性的。 concat 函数有点问题,因为它只接受两个列表作为参数。因此,如果我需要连接三个或更多列表,我必须像这样链接函数:concat(list1, concat(list2, concat(list3, list4)))(用于四个列表连接) .有没有更好的方法来做到这一点,我不知道?谢谢。

最佳答案

如果你想连接一个列表的列表,你可以使用 R.concat 将列表缩减为一个空列表作为初始值。

const concatAll = R.reduce(R.concat, []);
concatAll([[1, 2], [3, 4], [5, 6]]);

或者直接将列表传递给 R.reduce

R.reduce(R.concat, [], [[1, 2], [3, 4], [5, 6]]);

如果你想创建一个新的可变参数函数,将每个列表作为一个单独的参数,那么你可以用 R.unapply 包装这个函数。

const concatAll_ = R.unapply(R.reduce(R.concat, []));
concatAll_([1, 2], [3, 4], [5, 6]);

Ramda 还有一个 R.unnest 函数,当给定一个列表列表时,它会将它们连接在一起。

R.unnest([[1, 2], [3, 4], [5, 6]]);

关于javascript - 避免在 Ramda 中进行双重连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34376177/

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