split - nodef/extra-iterable GitHub Wiki

Break iterable considering test as separator.

Alternatives: split, splitAt. Similar: cut, split, group.

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

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

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

References