Skip to content

scanWhile

Subhajit Sahu edited this page Jun 15, 2020 · 11 revisions

Scans from left, while a test passes. 🏃 📼 📦 🌔 📒

Alternatives: search, searchRight, searchAll.

iterable.scanWhile(x, fn);
// x:  an iterable
// fn: test function (v, i, x)
// --> index where test fails
const iterable = require('extra-iterable');

var x = [1, 2, 3, 2, 5];
iterable.search(x, 2);
// 1        ^

var x = [1, -2, 3, 2, 5];
iterable.search(x, 2, (a, b) => Math.abs(a) - Math.abs(b));
// 1         ^

var x = [1, -2, 3, 2, 5];
iterable.search(x, 2, null, v => Math.abs(v));
// 1         ^

references

Clone this wiki locally