JavaScript | array.flatMap()

array.flatMap () es una función incorporada en JavaScript que se usa para aplanar el elemento de array de entrada en una nueva array. 
En primer lugar, este método mapea cada elemento con la ayuda de la función de mapeo, luego aplana el elemento de la array de entrada en una nueva array. 
Sintaxis: 
 

var A = array.flatMap(function callback(current_value, index, Array))
{
    // It returns the new array's elements.
}

Parámetros: 
 

  1. current_value: Son los elementos de la array de entrada.
  2. índice:
    • es opcional
    • Es el índice del elemento de entrada.
  3. Formación: 
    • es opcional
    • Se utiliza cuando se llama al mapa de array.

Valores de retorno: Devuelve una nueva array cuyos elementos son el valor de retorno de la función de devolución de llamada. 
Código JavaScript para mostrar la funcionalidad de la función anterior:  
Código #1:

javascript

<script>
 
// Taking input as an array A having some elements.
var A = [ 1, 2, 3, 4, 5 ];
 
// Mapping with map function.
b = A.map(x => [x * 3]);
document.write(b);
 
// Mapping and flatting with flatMap() function.
c = arr1.flatMap(x => [x * 3]);
document.write(c);
 
// Mapping and flatting with flatMap() function.
d = arr1.flatMap(x => [[ x * 3 ]]);
document.write(d);
</script>

Producción: 
 

[[3], [6], [9], [12], [15]]
[3, 6, 9, 12, 15]
[[3], [6], [9], [12], [15]]

Código n.º 2: este flatting también se puede hacer con la ayuda de reduce y concat. 
 

javascript

<script>
 
// Taking input as an array A having some elements.
var A = [ 1, 2, 3, 4, 5 ];
array.flatMap(x => [x * 3]);
 
// is equivalent to
b = A.reduce((acc, x) => acc.concat([ x * 3 ]), []);
document.write(b);
</script>

Producción: 
 

[3, 6, 9, 12, 15]

Navegador compatible:

  • Google Chrome 69 y superior
  • Edge 79 y superior
  • Firefox 62 y superior
  • Ópera 56 y superior
  • Safari 12 y superior

Nota: esta función solo está disponible en Firefox Nightly.
 

Publicación traducida automáticamente

Artículo escrito por Kanchan_Ray 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 *