Método Lodash _.flatMapDeep()

Lodash es una biblioteca de JavaScript que funciona en la parte superior de underscore.js. Lodash ayuda a trabajar con arrays, colecciones, strings, objetos, números, etc.

El método _.flatMapDeep() crea una array aplanada de valores al ejecutar cada elemento en la colección dada a través de la función iteratee y aplana recursivamente los resultados mapeados. Es similar al método _.flatMap().

Sintaxis:

_.flatMapDeep( collection, iteratee )

Parámetros: este método acepta dos parámetros, como se mencionó anteriormente y se describe a continuación:

  • colección: Es la colección sobre la que se va a iterar.
  • iteratee: Es la función que se invoca por iteración.

Valor devuelto: este método devuelve la nueva array aplanada.

Ejemplo 1:

// Requiring the lodash library 
const _ = require("lodash");
      
// Original array 
var users = (['aaa', 'bbb', 'ccc', 
              'ddd', 'eee', 'fff']);
  
// Using the _.flatMapDeep() method
let flat_map =
  _.flatMapDeep(users,
    function duplicate(n) {
      return [[[n, n]]];
  }
)
  
// Printing the output 
console.log(flat_map);

Producción:

[
  'aaa', 'aaa', 'bbb', 'bbb',
  'ccc', 'ccc', 'ddd', 'ddd',
  'eee', 'eee'
]

Ejemplo 2:

// Requiring the lodash library 
const _ = require("lodash"); 
      
// Original array 
var user1 = ([1, 2, 3, 4, 5, 6, 7]);
var user2 = (['a', 'b', 'c', 'd', 'e']);
  
// Using the _.flatMapDeep() method
let flat_map1 =
  _.flatMapDeep(user1,
    function makePattern(n) {
      return [[[n, n + "->"]]];
  }
)
   
let flat_map2 =
  _.flatMapDeep(user2,
    function makePattern(n) {
      return [[["<-" + n, n]]];
  }
)
  
// Printing the output 
console.log(flat_map1);
console.log(flat_map2);

Producción:

[
  1, 1->, 2, 2->, 3, 3->,
  4, 4->, 5, 5->, 6, 6->,
  7, 7->
]
[
  '<-a', 'a', <-'b', 'b',
  '<-c', 'c', '<-d', 'd',
  '<-e', 'e'
]

Publicación traducida automáticamente

Artículo escrito por shivanisinghss2110 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *