Ramda管道具有动态功能

问题描述 投票:0回答:1
var arr = [functionA(), functionB(), functionC()]
var data = { /** some data */ }

如何从arr列表中动态添加函数并将其添加到ramda管道。

预期代码:

const newFn = pipe(functionA, functionB, functionC)

newFn(data)
javascript ramda.js
1个回答
2
投票

你可以使用apply

const buildPipe = apply(pipe);
const add3 = buildPipe([inc, inc, inc]);
const add4 = buildPipe([inc, inc, inc, inc]);

console.log(add3(1));
console.log(add4(2));
<script src="https://cdnjs.cloudflare.com/ajax/libs/ramda/0.26.1/ramda.min.js"></script>
<script>const {apply, pipe, inc} = R;</script>
© www.soinside.com 2019 - 2024. All rights reserved.