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

Flattens nested iterable to given depth. 🏃 📼 📦 🌔 📒

Alternatives: flat, flatMap.


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 ] ]


References

Clone this wiki locally