Función Underscore.js _.flatten()

La función _.flatten() es una función incorporada en la biblioteca de JavaScript Underscore.js que se usa para aplanar una array que está anidada en algún nivel. La array resultante no tendrá profundidad. Quedará completamente aplastado. Si pasa el parámetro de poca profundidad, el aplanamiento se realizará solo hasta un nivel. La profundidad de una array viene dada por el número de corchetes. Ejemplo: array[10, [20]] contiene 10 elementos de 1 profundidad ya que está dentro de un solo corchete ([]) mientras que el elemento 20 tiene profundidad 2.

Sintaxis:

_.flatten(array, [shallow])

Parámetros: Esta función contiene dos parámetros que se enumeran a continuación:

  • array: este parámetro se utiliza para contener los elementos de la array.
  • superficial: se utiliza para aplanar una array en un solo nivel.

Valor de retorno: Devuelve la array aplanada ya sea un nivel o todos los niveles.

Pasar una lista sin parámetro superficial Función _.flatten(): La función _.flatten() se utiliza para aplanar la array anidada. Tomará la array y eliminará toda su profundidad para convertirla en 1 nivel. Dado que el segundo parámetro no se proporciona, se reducirá toda su profundidad.

Ejemplo:

<!DOCTYPE html>
<html>
    <head>
        <script src = 
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
        </script>
    </head>
    <body>
        <script type="text/javascript">
            console.log(_.flatten([1, [2], [3, [4, [5, [6, [7]]]]]]));
        </script>
    </body>
</html>                    

Producción:

Pasar el segundo parámetro a la función _.flatten(): Pasar el segundo parámetro a la función para que la array de n profundidad se aplane a n-1 profundidad. En el siguiente ejemplo, los elementos 1, 2 y 3 están encerrados dentro de solo 1 corchete, por lo que no tendrán profundidad. El elemento 4 tiene 2 profundidades en la array dada, por lo que ahora solo tendrá 1 profundidad y, por lo tanto, no se verá con los elementos 1, 2 y 3. el elemento 5 tiene una profundidad de 3, por lo que en la array resultante tendrá una profundidad de 2. De manera similar, la profundidad del sexto elemento es 6. Y el último elemento 7 tiene una profundidad de 5, por lo que se mostrará en la array más interna.

Ejemplo:

<!DOCTYPE html>
<html>
    <head>
        <script src = 
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
        </script>
    </head>
    <body>
        <script type="text/javascript">
            console.log(_.flatten([1, [2], [3, [4, [5, [6, [7]]]]]], true));
        </script>
    </body>
</html>                    

Producción:

Otro ejemplo que usa un parámetro de poca profundidad: en este ejemplo, el elemento 1 tiene una profundidad de 1, por lo que se mostrará en el nivel inicial junto con una array de 2 elementos. El primer elemento contiene 2 elementos, mientras que el segundo elemento nuevamente tiene 2 elementos. El primer elemento es el 3 y el segundo también tiene 2 elementos en una array. Asimismo, la array también tiene 4 y una array de elementos. Continúe así, luego la array final contendrá el elemento 7.

Ejemplo:

<html>
   
<head>
    <script src = 
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
    </script>
</head>
   
<body>
    <script type="text/javascript">
        console.log(_.flatten([1, [[[2], [3, [4, [5, [6, [7]]]]]]]], true));
    </script>
</body>
   
</html>

Producción:

Otro ejemplo de la función _.flatten() con parámetro superficial: En este ejemplo, los elementos 1, 4, 6 se pueden ver en el primer nivel ya que su profundidad es 1. Aparte de estos, el primer nivel contiene una array de 2 elementos y 2 arrays de 1 elemento cada uno. La array de tamaño 2 contiene los elementos 2 y 3 en el siguiente nivel. Uno de la array de un tamaño contiene 5 y el otro contiene 7 en el siguiente nivel ya que su profundidad original era 2.

Ejemplo:

<!DOCTYPE html>
<html>
    <head>
        <script src = 
"https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js" >
        </script>
    </head>
    <body>
        <script type="text/javascript">
            console.log(_.flatten([1, [[[2], [3]]], [4, [5]], [6, [7]]], true));
        </script>
    </body>
</html>                    

Producción:

Publicación traducida automáticamente

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