Skip to content

scanWhile

Subhajit Sahu edited this page Feb 3, 2021 · 11 revisions

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