【发布时间】:2020-05-03 21:10:26
【问题描述】:
我从函数式编程开始/fp-ts。
我正在尝试编写一个函数,如果 next 元素的条件得到满足,它会保留一个元素。
例子:
const condition = (i: number) => i % 10 === 0;
filterNext(condition, [19, 20, 3, 18, 8, 48, 20, 4, 10]) // => [3, 4]
我可能还需要扩展它,以便 匹配和下一个元素都包含在内,如:
const condition = (i: number) => i % 10 === 0;
filterNext(condition, [19, 20, 3, 18, 8, 48, 90, 4, 10]) // => [10, 3, 90, 4, 10]
我不知道如何为两者中的任何一个构建适当的纯函数。
欢迎任何提示。
【问题讨论】:
-
如果您需要前瞻语义,通常必须求助于递归。也许有一个花哨的递归方案(折叠),但我不知道。
标签: functional-programming fp-ts