Я начинаю с функционального программирования / fp-ts
. Я пытаюсь написать функцию, которая, принимая список, сохраняет элемент, если выполнено условие для элемента next .
Пример:
const condition = (i: number) => i % 10 === 0;
filterNext(condition, [19, 20, 3, 18, 8, 48, 20, 4, 10]) // => [3, 4]
I может также понадобиться расширить это так, чтобы и совпадение и следующий элемент были включены, как:
const condition = (i: number) => i % 10 === 0;
filterNext(condition, [19, 20, 3, 18, 8, 48, 90, 4, 10]) // => [10, 3, 90, 4, 10]
Я понятия не имею, как построить правильную чистую функцию, чтобы сделать это для любой из двух.
Любые намеки приветствуются.