Fonction récursive tableau à plusieurs dimensions

Résolu
Nalianne -  
Nalianne Messages postés 11 Statut Membre -
Bonjour,

Je dois coder une fonction récursive en javascript afin de parcourir un objet possédant plusieurs sous-objets:
objet {
nom: ...,
prenom: ....,
adresse: {
rue: ...,
ville: ...
}}

Je n'arrive pas du tout à voir comment il serait possible de le faire. Je ne suis pas très à l'aise avec le récursif...

Est-ce que quelqu'un serait capable de m'aider ?

Merci !

1 réponse

  1. Nalianne Messages postés 11 Statut Membre
     
    Bonjour,

    J'ai réussi à trouver la solution à mon problème:

    /* Will flatten all objects and send back columns and sub-columns at the same level */
              var flattenObject = function(ob) {
                var toReturn = {};
    
                /* For each object */
                for (var i in ob) {
                  if (!ob.hasOwnProperty(i)) continue;
    
                  /* If it is an other object */
                  if ((typeof ob[i]) == 'object') {
                    var flatObject = flattenObject(ob[i]);
                    /* For each object in the object it will return the name key.key-under */
                    for (var x in flatObject) {
                      if (!flatObject.hasOwnProperty(x)) continue;
                      toReturn[i + '.' + x] = flatObject[x];
                    }
                  } else // If there is no other under object
                    toReturn[i] = ob[i];
                }
                return toReturn;
              };
    


    Et je fais une boucle sur les objets de mon tableau pour obtenir le résultat escompté (que je stocke dans un nouveau tableau)
    0