当前位置:  开发笔记 > 编程语言 > 正文

在Ramda中避免双重连续

如何解决《在Ramda中避免双重连续》经验,为你挑选了1个好方法。

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



1> Scott Christ..:

如果要连接列表列表,可以使用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]]);

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有