flatMap (original) (raw)

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