flatMap - nodef/extra-array GitHub Wiki

Flatten nested array, based on map function.

Alternatives: flat, flatMap.

function flatMap(x, fm, ft)
// x:  an array
// fm: map function (v, i, x)
// ft: flatten test function (v, i, x) [is]
const xarray = require('extra-array');

var x = [1, 2], [3, [4, [5](/nodef/extra-array/wiki/1,-2],-[3,-[4,-[5)]];
xarray.flatMap(x);
// → [ 1, 2, 3, [ 4, [ 5 ] ] ]

xarray.flatMap(x, v => xarray.flat(v, 1));
// → [ 1, 2, 3, 4, [ 5 ] ]

xarray.flatMap(x, v => xarray.flat(v));
// → [ 1, 2, 3, 4, 5 ]

References