Comment aplatir un tableau javascript imbriqué

Comment aplatir un tableau javascript imbriqué
JavaScript Array a la capacité de stocker plusieurs tableaux en soi. Lorsqu'un réseau ou un sous-tableau intérieur est ajouté à un tableau, il est connu comme un «Multidimensionnel" ou "Imbriqué » déployer. Il existe certains scénarios dans lesquels vous devrez peut-être créer un tableau qui comprend tous les éléments de tableau JavaScript imbriquées dans leur ordre d'origine. Si c'est le cas, alors aplatir le réseau imbriqué créé et réduire sa dimensionnalité selon le profondeur.

Ce message expliquera les méthodes à aplatir un Array JavaScript imbriqué. Mais avant de sauter dedans, nous expliquerons le terme «profondeur«Comme il est associé à la procédure d'aplatissement.

Profondeur du tableau JavaScript imbriqué

Le fonctionnement de l'ajout d'un réseau intérieur ou de nidification d'un tableau par incréments de tableau normaux "1" dans le niveau de profondeur. Par exemple, sans réseau imbriqué, un tableau normal aura un «0»Niveau de profondeur:

[12, 23, 34, 45, 56, 67, 78] // Niveau de profondeur = 0

Avec un sous-tableau intérieur, le niveau de profondeur deviendra «1»:

[12, 23, 34, [45, 56, 67, 78]] // Niveau de profondeur = 1

De même, l'augmentation du nombre de sous-tableau intérieures augmentera également le niveau de profondeur:

[12, 23, [34, [45, 56, 67, 78]]] // Niveau de profondeur = 2
[12, [23, [34, [45, 56, 67, 78]]]] // Niveau de profondeur = 3

Maintenant, consultez la méthode d'aplatir un tableau dans la version JavaScript avant ES6.

Comment aplatir un tableau JavaScript imbriqué à l'aide de la méthode Concat () et de l'opérateur de propagation […]

La combinaison de «concat ()«Méthode et«Spread Operator […]«La méthode est utilisée pour aplatir un tableau JavaScript imbriqué de manière à ce que l'opérateur de propagation […] répand les éléments du tableau spécifié, puis les concaténer dans un tableau vide à l'aide de la méthode JavaScript Concat ():

Soit Array = [12, 23, [43, 34, 56]];
Laissez FlatArray = [].Concat (… Array);
console.journal (platArray);

Sortir

Cependant, cette approche aplatit uniquement les tableaux imbriqués de niveau un:

CONS NUMARRAY = [12, 23, [34, 45, 56, [67, 78]]];
Laissez FlatArray = [].Concat (… numArray);
console.journal (platArray);

Le code donné ci-dessus ajoutera le tableau intérieur de "numarray"Dans son ensemble à"plate«Car il ne peut pas diffuser ses éléments:

Et si vous devez aplatir un tableau profondément imbriqué? Pour ce faire, vous pouvez utiliser le «Déployer.aplatir()»Méthode offerte par la version JavaScript ES6.

Comment aplatir un tableau JavaScript imbriqué à l'aide du tableau.méthode plate ()

Le "Déployer.plat()«La méthode est intégrée dans ES6 Cela vous permet de «aplatir”Un tableau JavaScript imbriqué. Cette méthode renvoie un nouveau tableau dans lequel tous les éléments des sous-terrains sont concaténés en fonction de la profondeur spécifiée.

Syntaxe de la table.Méthode plate () pour aplatir un tableau JavaScript imbriqué

Laissez NewArray = Array.plat ([profondeur])

Ici le "Déployer"L'objet invoquera le"plat()"Méthode en passant"profondeur"Comme argument.

Vérifions maintenant quelques exemples pour comprendre le concept déclaré.

Exemple 1: Comment aplatir un tableau JavaScript imbriqué avec une profondeur de niveau

Tout d'abord, nous créerons un tableau JavaScript imbriqué ayant les éléments suivants et un sous-tableau:

CONS NUMARRAY = [12, 23, [34, 45, 56]];

Ensuite, nous allons aplatir les imbriqués créés "numarray"Avec l'aide du"plat()" méthode:

const Flatarray = numArray.plat();
console.journal (platArray);

Nous n'avons pas dépassé le «profondeur«Argument, donc le«numarray.plat()«Considura la valeur de profondeur par défaut, qui est«1»Et concaténe les éléments de tableau imbriquées javascript 34, 45, 56 au nouvellement créé "plate»:

Exemple 2: Comment aplatir un réseau JavaScript imbriqué avec une profondeur à deux niveaux

Dans l'exemple suivant, nous spécifierons «2«Comme le«profondeur" niveau. Ce faisant, le «numarray.plat()"Appellera les deux sous-arrailles intérieures et ajoutera leurs éléments dans le résultat"Flatarray ()»:

CONS NUMARRAY = [12, 23, [34, 45, 56, [67, 78]]];
const Flatarray = numArray.plat (2);
console.journal (platArray);

L'exécution du programme donné montrera la sortie suivante:

Exemple 3: Comment aplatir un tableau JavaScript imbriqué sans connaître le niveau de profondeur

Si vous n'avez aucune idée du niveau de profondeur du tableau, passez "infini"Comme argument au"Déployer.plat()" méthode. Dans ce cas, tous les éléments des sous-arraies sont «récursivement"Concaténé dans un autre tableau.

Par exemple, pour aplatir le diable «numarray", Nous spécifierons"infini«À la place de l'argument au niveau de la profondeur:

Cons numArray = [12, 23, [34, 45, 56, [67, 78, [89, 90]]]];
const Flatarray = numArray.plat (infinité);
console.journal (platArray);

Comme vous pouvez le voir, le «numarray.plat()"La méthode a réussi à aplatir le imbriqué"numarray»:

C'était toutes les informations essentielles liées à l'aplatissement d'un tableau en javascript. Vous pouvez y travailler en fonction de vos préférences.

Conclusion

Le Déployer.plat() La méthode est principalement utilisée pour aplatir un tableau JavaScript imbriqué. Il accepte le profondeur Niveau comme argument et renvoie un nouveau tableau dans lequel tous les éléments des sous-terrains sont concaténés en fonction de la profondeur spécifiée. Avant ES6, la combinaison de certaines méthodes intégrées telles que concat () et opérateur de propagation […] ne peut qu'aplatir le tableau de niveau un; Cependant, le Déployer.plat() La méthode aide à aplatir les tableaux profondément imbriqués. Cet article a expliqué la procédure pour aplatir un tableau en javascript.