flat - nodef/extra-iterable GitHub Wiki
Flatten nested iterable to given depth.
function flat(x, n, fm, ft)
// x: a nested iterable
// n: maximum depth (-1 ⇒ all)
// fm: map function (v, i, x)
// ft: flatten test (v, i, x) [isList]
const xiterable = require('extra-iterable');
var x = [1, 2], [3, [4, [5](/nodef/extra-iterable/wiki/1,-2],-[3,-[4,-[5)]];
[...xiterable.flat(x)];
// → [1, 2, 3, 4, 5]
[...xiterable.flat(x, 1)];
// → [1, 2, 3, [4, [5]]]
[...xiterable.flat(x, 2)];
// → [1, 2, 3, 4, [5]]