cut - nodef/extra-iterable GitHub Wiki

Break iterable when test passes.

Alternatives: cut, cutRight, cutAt, cutAtRight. Similar: cut, split, group.

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

var x = [1, 2, 3, 4, 5];
[...xiterable.cut(x, v => v % 2 === 0)];
// → [1], [2, 3], [4, 5](/nodef/extra-iterable/wiki/1],-[2,-3],-[4,-5)

[...xiterable.cut(x, v => v % 2 === 1)];
// → [], [1, 2], [3, 4], [5](/nodef/extra-iterable/wiki/],-[1,-2],-[3,-4],-[5)

References