Flattens nested iterable to given depth.
:package:
:smileycat:
:running:
:vhs:
:moon:
:scroll:
:newspaper:
:bluebook:
Alternatives: flat, flatMap.
This is part of package extra-iterable.
iterable.flat(x, [n], [fm], [ft]);
// x: a nested iterable
// n: maximum depth (-1 => all)
// fm: map function (v, i, x)
// ft: test function (v, i, x)
const iterable = require("extra-iterable");
var x = [[1, 2], [3, [4, [5]]]];
[...iterable.flat(x)];
// [ 1, 2, 3, 4, 5 ]
[...iterable.flat(x, 1)];
// [ 1, 2, 3, [ 4, [ 5 ] ] ]
[...iterable.flat(x, 2)];
// [ 1, 2, 3, 4, [ 5 ] ]