scanWhile - nodef/extra-iterable GitHub Wiki

Scan from left, while a test passes.

Alternatives: scanWhile, scanWhileRight, scanUntil, scanUntilRight. Similar: search, [scan], find.

function scanWhile(x, ft)
// x:  an array
// ft: test function (v, i, x)
const xiterable = require('extra-iterable');

var x = [1, 1, 2, 2, 3, 3, 4, 4];
xiterable.scanWhile(x, v => v % 2 !== 0);
// → 2         ^

xiterable.scanWhile(x, v => v % 3 !== 0);
// → 4               ^

xiterable.scanWhile(x, v => v % 6 !== 0);
// → 8                          ^

References