@extra-iterable/scan-until.min

Scans from left, until a test passes. :package: :smiley_cat: :running: :vhs: :moon: :scroll: :newspaper: :blue_book:

Usage no npm install needed!

<script type="module">
  import extraIterableScanUntilMin from 'https://cdn.skypack.dev/@extra-iterable/scan-until.min';
</script>

README

Scans from left, until a test passes. :package: :smiley_cat: :running: :vhs: :moon: :scroll: :newspaper: :blue_book:

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

This is part of package extra-iterable.

This is browserified, minified version of @extra-iterable/scan-until.
It is exported as global variable iterable_scanUntil.
CDN: unpkg, jsDelivr.


iterable.scanUntil(x, ft);
// x:  an iterable
// ft: test function (v, i, x)
// → index where test passes
const iterable = require("extra-iterable");

var x = [1, 1, 2, 2, 3, 3, 4, 4];
iterable.scanUntil(x, v => v % 2 === 0);
// 2           ^

iterable.scanUntil(x, v => v % 3 === 0);
// 4                 ^

iterable.scanUntil(x, v => v % 6 === 0);
// 8                            ^


References