Maison >interface Web >Questions et réponses frontales >Comment trouver la profondeur d'un tableau en JavaScript

Comment trouver la profondeur d'un tableau en JavaScript

PHPz
PHPzoriginal
2023-04-25 09:12:001349parcourir

En programmation JavaScript, nous avons souvent besoin d'exploiter des tableaux. Le tableau est un type de données très courant qui nous permet de stocker de grandes quantités de données et de les utiliser de manière flexible. Cependant, dans certains cas, nous devons connaître la profondeur du tableau pour connaître le nombre de sous-tableaux imbriqués dans le tableau. Dans cet article, nous explorerons comment résoudre la profondeur d'un tableau à l'aide de JavaScript.

Quelle est la profondeur du tableau ?

En JavaScript, les tableaux peuvent contenir d'autres tableaux. Cette approche est appelée tableaux imbriqués ou tableaux multidimensionnels. Par exemple, le tableau suivant est un tableau imbriqué qui contient deux tableaux :

let nestedArray = [[1, 2], [3, 4]];

Dans cet exemple, le tableau imbriqué contient deux sous-tableaux, chacun contenant deux éléments. Nous appelons cela la profondeur du tableau imbriqué. Dans cet exemple, la profondeur est de 2.

Si nous imbriquons davantage le tableau, la profondeur augmentera. Voici un tableau imbriqué contenant trois tableaux :

let deeplyNestedArray = [[[1, 2], [3, 4]], [[5, 6], [7, 8]], [[9, 10], [11, 12]]];

Dans cet exemple, chaque sous-tableau est également un tableau imbriqué, d'une profondeur de 3.

Ainsi, la profondeur du tableau fait référence au nombre de tous les sous-tableaux imbriqués contenus à l'intérieur du tableau. Pour les tableaux contenant plusieurs tableaux imbriqués, nous devons calculer la profondeur maximale.

Comment calculer la profondeur du tableau ?

En JavaScript, nous pouvons utiliser des fonctions récursives pour calculer la profondeur d'un tableau. La récursivité est une technique où une fonction s'appelle elle-même. Lors du calcul de la profondeur du tableau, nous devons utiliser la récursivité pour accéder à tous les sous-tableaux et comparer leurs profondeurs.

Ce qui suit est une fonction récursive simple qui calcule la profondeur d'un tableau :

function getArrayDepth(array) {
  let depth = 1;
  if (Array.isArray(array)) {
    array.forEach(function(element) {
      if (Array.isArray(element)) {
        let nestedDepth = getArrayDepth(element) + 1;
        if (nestedDepth > depth) {
          depth = nestedDepth;
        }
      }
    });
  }
  return depth;
}

Cette fonction utilise la méthode forEach() pour parcourir tous les éléments du tableau. Si l'élément est un tableau, sa profondeur est calculée de manière récursive. Enfin, la fonction renvoie la profondeur maximale.

Expliquons cette fonction étape par étape :

  1. Tout d'abord, nous définissons la profondeur sur 1 et vérifions si le tableau de paramètres d'entrée est un tableau.
  2. Si array est un tableau, nous utilisons la méthode forEach() pour parcourir tous les éléments.
  3. Si l'élément actuel est également un tableau, la fonction getArrayDepth() est appelée de manière récursive pour calculer sa profondeur, et le résultat est augmenté de 1 (car l'élément actuel est le parent du niveau suivant du tableau imbriqué). Enfin, nous comparons la profondeur renvoyée à la profondeur maximale actuelle et mettons à jour la profondeur maximale si nécessaire.
  4. Enfin, la fonction renvoie la profondeur maximale.

Fonction de test

Nous pouvons utiliser le code suivant pour tester la fonction getArrayDepth() :

let array1 = [1, 2, [3, 4]];
let array2 = [[1, 2], [3, 4]];
let array3 = [[[1, 2], [3, 4]], [[5, 6], [7, 8]], [[9, 10], [11, 12]]];

console.log(getArrayDepth(array1)); //2
console.log(getArrayDepth(array2)); //2
console.log(getArrayDepth(array3)); //3

Dans cet exemple, nous utilisons trois tableaux différents pour les tests. Sur la base du résultat, nous pouvons voir que la fonction getArrayDepth() calcule avec succès la profondeur de ces tableaux.

Conclusion

Dans cet article, nous avons exploré comment résoudre la profondeur d'un tableau en JavaScript. Nous avons utilisé une fonction récursive pour accéder à tous les sous-tableaux et calculer la profondeur maximale du tableau. La profondeur est le nombre de sous-tableaux imbriqués contenus dans le tableau. Il s’agit d’une technique de programmation utile lorsque vous travaillez avec des tableaux imbriqués. Nous espérons que cet article vous a aidé à mieux comprendre les techniques d'utilisation des tableaux en JavaScript.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn