Método JavaScript Array flat()

A continuación se muestra el ejemplo del método Array flat() .

  • Ejemplo:

    <script>
        // Creating multilevel array
        const numbers = [['1', '2'], ['3', '4',
                         ['5',['6'], '7']]];
      
        const flatNumbers= numbers.flat(Infinity);
        document.write(flatNumbers);
    </script>
  • Nuestro rendimiento:
    1,2,3,4,5,6,7

El método arr.flat() se introdujo en ES2019. Se utiliza para aplanar una array, para reducir el anidamiento de una array.

El método flat() se usa mucho en el paradigma de programación funcional de JavaScript. Antes de que se introdujera el método flat() en JavaScript, se usaban principalmente varias bibliotecas como underscore.js .

Sintaxis:

arr.flat([depth])

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

  • profundidad: especifica qué tan profundo debe aplanarse la array anidada. El valor predeterminado es 1 si no se pasa ningún valor de profundidad, ya que supone que es un parámetro opcional.

Valor de retorno: Devuelve una array, es decir , niveles de profundidad más planos que la array original, elimina el anidamiento de acuerdo con los niveles de profundidad .

Más códigos para la función anterior se definen de la siguiente manera:

Programa 1: El siguiente fragmento de código muestra cómo funciona el método flat() .

<script>
    let nestedArray = [1, [2, 3], [[]], 
                      [4, [5]], 6];
  
    let zeroFlat = nestedArray.flat(0);
  
    document.write(
      `Zero levels flattened array: ${zeroFlat}`);
    document.write("<br>");
  
    // 1 is the default value even
    // if no parameters are passed
    let oneFlat = nestedArray.flat(1);
  
    document.write(
      `One level flattened array: ${oneFlat}`);
    document.write("<br>");
  
    let twoFlat = nestedArray.flat(2);
  
    document.write(
      `One level flattened array: ${twoFlat}`);
    document.write("<br>");
  
    // No effect when depth is 3 or
    // more since array is already
    // flattened completely.
    let threeFlat = nestedArray.flat(3);
    document.write(
      `Three levels flattened array: ${threeFlat}`);
</script>

Producción:

Zero levels flattened array: [1, [2, 3], [[]], [4, [5]], 6]
One level flattened array: [1, 2, 3, [], 4, [5], 6]
Two levels flattened array: [1, 2, 3, 4, 5, 6]
Three levels flattened array: [1, 2, 3, 4, 5, 6]

Nota: Para una profundidad superior a 2, la array sigue siendo la misma, ya que ya está completamente aplanada.

Programa 2: También podemos eliminar espacios vacíos o valores vacíos en una array usando el método flat() .

<script>
    let arr = [1, 2, 3, , 4];
    let newArr = arr.flat();
    document.write(newArr);
</script>

Producción:

[1, 2, 3, 4]

Navegadores compatibles:

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

Publicación traducida automáticamente

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