Skip to content
Subhajit Sahu edited this page Jun 17, 2020 · 16 revisions

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

Alternatives: flat, flatMap.

entries.flat(x, [dep]);
// x:   nested entries
// dep: maximum depth (-1)
const entries = require('extra-entries');

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.flat(x);
// Map(5) { 'a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5 }

map.flat(x, 1);
// Map(4) {
//   'a' => 1,
//   'b' => 2,
//   'c' => 3,
//   'de' => Map(2) { 'd' => 4, 'e' => Map(1) { 'e' => 5 } }
// }

map.flat(x, 2);
// Map(5) {
//   'a' => 1,
//   'b' => 2,
//   'c' => 3,
//   'd' => 4,
//   'e' => Map(1) { 'e' => 5 }
// }

references

Clone this wiki locally