En este artículo, aprenderemos cómo aplanar en profundidad una array en JavaScript. El aplanamiento de una array es un proceso de fusión de un grupo de arrays anidadas presentes dentro de una array determinada. El aplanamiento profundo significa que la array se aplanaría por completo.
Ejemplo:
Input: [1,2,3,4,5,[6,[7,8,9]]] Output: [1,2,3,4,5,6,7,8,9]
Esto se puede hacer usando los siguientes métodos.
Método 1: Usar el método flat() en JavaScript. Este método fusiona todas las arrays anidadas presentes dentro de una array. Este método toma una profundidad de argumento, es un número entero que especifica qué tan profundo debe aplanarse una array anidada. El valor de profundidad se puede especificar como infinito para aplanar completamente la array. El valor predeterminado de este parámetro es 1.
Ejemplo:
Javascript
<script> const arr = [1,2,3,4,5,[6,[7,8,9]]]; // Setting the depth value to // Infinity to deep flatten the array const flattened = arr.flat(Infinity); console.log(flattened) </script>
Producción:
[1,2,3,4,5,6,7,8,9]
Método 2: con el método flatten() de la biblioteca Underscore, la array se puede aplanar a cualquier profundidad. Toma la array como argumento y devuelve la array aplanada. La array se aplana por completo si no se pasa ningún parámetro de profundidad al método.
Ejemplo:
Javascript
const underscore = require('underscore'); const arr = [1,2,3,4,5,[6,[7,8,9]]]; // Using the flatten() method without // depth parameter to deep flatten // the array const flattened_arr = underscore.flatten(arr); console.log(flattened_arr);
Producción:
[1,2,3,4,5,6,7,8,9]
Método 3: Usar el método flattenDeep() de la biblioteca Lodash. Este método se utiliza para aplanar recursivamente una array. Toma una array como argumento y devuelve la array aplanada profunda.
Ejemplo:
Javascript
const lodash = require('lodash'); const arr = [1,2,3,4,5,[6,[7,8,9]]]; // Using the flattenDeep() method // to deep flatten the array const flattened_arr = lodash.flattenDeep(arr); console.log(flattened_arr);
Producción:
[1,2,3,4,5,6,7,8,9]
Publicación traducida automáticamente
Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA