Skip to content
Subhajit Sahu edited this page Feb 3, 2021 · 23 revisions

Flatten nested iterable to given depth.

Alternatives: flat, flatMap.


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]]]];
[...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]]


References

Clone this wiki locally