Fonction récursive tableau à plusieurs dimensions

Résolu/Fermé
Nalianne - Modifié par Nalianne le 2/01/2013 à 17:30
Nalianne Messages postés 8 Date d'inscription dimanche 6 novembre 2011 Statut Membre Dernière intervention 19 juin 2013 - 4 janv. 2013 à 09:01
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 !

A voir également:

1 réponse

Nalianne Messages postés 8 Date d'inscription dimanche 6 novembre 2011 Statut Membre Dernière intervention 19 juin 2013
4 janv. 2013 à 09:01
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