We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
Flatten nested map, based on map function.
Alternatives: flat, flatMap.
function flatMap(x, fm, ft) // x: a nested map // fm: map function (v, k, x) // ft: test function for flatten (v, k, x) [is]
const map = require('extra-map'); var x = new Map([ ['ab', new Map([ ['a', 1], ['b', 2] ])], ['cde', new Map([ ['c', 3], ['de', new Map([ ['d', 4], ['e', new Map([ ['e', 5] ])] ])] ])] ]); map.flatMap(x); // → Map(4) { // → 'a' => 1, // → 'b' => 2, // → 'c' => 3, // → 'de' => Map(2) { 'd' => 4, 'e' => Map(1) { 'e' => 5 } } // → } map.flatMap(x, v => map.flat(v, 1)); // → Map(5) { // → 'a' => 1, // → 'b' => 2, // → 'c' => 3, // → 'd' => 4, // → 'e' => Map(1) { 'e' => 5 } // → } map.flatMap(x, v => map.flat(v)); // → Map(5) { 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5 }