Esta publicación explicará los métodos para aplanar a Matriz de JavaScript anidada. Pero antes de saltar a él, explicaremos el término "profundidad"Como está asociado con el procedimiento de aplanamiento.
Profundidad de la matriz de JavaScript anidada
La operación de agregar una matriz interna o anidar una matriz en incrementos de matriz normal "1" en el nivel de profundidad. Por ejemplo, sin una matriz anidada, una matriz normal tendrá un "0"Nivel de profundidad:
[12, 23, 34, 45, 56, 67, 78] // nivel de profundidad = 0Con un sub-matriz interno, el nivel de profundidad se convertirá en "1":
[12, 23, 34, [45, 56, 67, 78]] // nivel de profundidad = 1Del mismo modo, aumentar el número de sub-matrices internos también aumentará el nivel de profundidad:
[12, 23, [34, [45, 56, 67, 78]]] // nivel de profundidad = 2Ahora, consulte el método de aplanar una matriz en la versión de JavaScript antes de ES6.
Cómo aplanar una matriz de JavaScript anidada utilizando el método concat () y el operador de propagación […]
La combinación de "concat ()"Método y"Operador de propagación […]"El método se utiliza para aplanar una matriz de JavaScript anidada de la misma manera que el operador de propagación [...] extiende los elementos de la matriz especificada y luego los concatene en una matriz vacía utilizando el método JavaScript Concat ():
Let Array = [12, 23, [43, 34, 56]];Producción
Sin embargo, este enfoque solo aplana las matrices anidadas de nivel uno:
const nuarray = [12, 23, [34, 45, 56, [67, 78]]];El código dado anteriormente agregará la matriz interna de "numarray"En general a"estatriz"Como no puede difundir sus elementos:
¿Qué pasa si tienes que aplanar una matriz profundamente anidada?? Para hacerlo, puedes utilizar el "Formación.aplanar()Método ofrecido por la versión ES6 JavaScript.
Cómo aplanar una matriz de JavaScript anidada usando una matriz.método plano ()
El "Formación.departamento()El método está incrustado en ES6 que te permite "aplanar"Una matriz de JavaScript anidada. Este método devuelve una nueva matriz en la que todos los elementos de las sub-matrices se concatenan de acuerdo con la profundidad especificada.
Sintaxis de matriz.Método plano () para aplanar una matriz de JavaScript anidada
Deja que NewArray = Array.plano ([profundidad])Aquí el "Formación"El objeto invocará el"departamento()"Método mientras pasa"profundidad"Como argumento.
Ahora revisemos algunos ejemplos para comprender el concepto declarado.
Ejemplo 1: Cómo aplanar una matriz de JavaScript anidada con una profundidad de nivel
En primer lugar, crearemos una matriz de JavaScript anidada que tenga los siguientes elementos y una subarray:
const nuarray = [12, 23, [34, 45, 56]];Entonces, aplanaremos los anidados creados "numarray"Con la ayuda del"departamento()" método:
consttatoRray = numArray.departamento();No hemos pasado el "profundidad"Argumento, entonces el"numarray.departamento()"Considerará el valor de profundidad predeterminado, que es"1"Y concatena los elementos de matriz anidados de JavaScript 34, 45, 56 al recién creado "estatriz":
Ejemplo 2: Cómo aplanar una matriz de JavaScript anidada con profundidad de dos niveles
En el siguiente ejemplo, especificaremos "2"Como el"profundidad" nivel. Al hacerlo el "numarray.departamento()"Aplanará las dos sub-matrices internas y agregará sus elementos en el resultante"FlatArray ()":
const nuarray = [12, 23, [34, 45, 56, [67, 78]]];La ejecución del programa dado mostrará el siguiente resultado:
Ejemplo 3: Cómo aplanar una matriz de JavaScript anidada sin conocer el nivel de profundidad
Si no tiene idea del nivel de profundidad de la matriz, pase "infinidad"Como argumento para el"Formación.departamento()" método. En este caso, todos los elementos de las sub-matrices son "recursivamente"Concatenado en otra matriz.
Por ejemplo, para aplanar los siguientes "numarray", Especificaremos"infinidad"En lugar del argumento de nivel de profundidad:
const nuarray = [12, 23, [34, 45, 56, [67, 78, [89, 90]]]];Como puede ver, el "numarray.departamento()"El método ha aplanado con éxito el anidado"numarray":
Esa fue toda la información esencial relacionada con el aplanamiento de una matriz en JavaScript. Puede trabajar más de acuerdo con sus preferencias.
Conclusión
El Formación.departamento() El método se utiliza principalmente para aplanar una matriz de JavaScript anidada. Acepta el profundidad nivel como argumento y devuelve una nueva matriz en la que todos los elementos de las sub-matrices se concatenan de acuerdo con la profundidad especificada. Antes de ES6, la combinación de algunos métodos incorporados como concat () y operador de propagación […] solo puede aplanar la matriz de nivel uno; sin embargo, el Formación.departamento() El método ayuda a aplanar matrices profundamente anidadas. Este artículo explicó el procedimiento para aplanar una matriz en JavaScript.