There was an error while loading. Please reload this page.
Flatten nested set, based on map function.
Alternatives: flat, flatMap.
function flatMap(x, fm, ft) // x: a nested set // fm: map function (v, v, x) // ft: flatten test function (v, v, x) [is]
const set = require('extra-set'); var x = new Set([ new Set([1, 2]), new Set([3, new Set([4, new Set([5])])]) ]); set.flatMap(x); // → Set(4) { 1, 2, 3, Set(2) { 4, Set(1) { 5 } } } set.flatMap(x, v => set.flat(v, 1)); // → Set(5) { 1, 2, 3, 4, Set(1) { 5 } } set.flatMap(x, v => set.flat(v)); // → Set(5) { 1, 2, 3, 4, 5 }