Skip to main content

takeRightWhile

TS JS Deno

Removes elements from the end of an array until the passed function returns true. Returns the removed elements.

Loop through the array, using a Array.prototype.reduceRight() and accumulating elements while the function returns falsy value.

typescript
const takeRightWhile = (arr: any[], func: Predicate) =>
arr.reduceRight((acc, el) => (func(el) ? acc : [el].concat(acc)), []);
typescript
takeRightWhile([1, 2, 3, 4], (n) => n < 3); // [3, 4]