2017-10-19 1 views
1

Ici, chaque fois que les utilisateurs sélectionne une option, l'objet nœud est ajouté et l'état, je dois l'état d'un dernier objet de nœud pour posterComment obtenir la dernière valeur de la propriété à JS Object

var breadCrumb = [{ 
     breadCrumbN: { 
      node: { 
      state: "test", 
      node: { 
       state: "test^test2", 
       node: { 
       state: "test^test2^test3", 
       node: { 
       state: "test^test2^test3^test4" // like to post the last state. the node object will be added for each selection 
       } 
       } 
      } 
      } 
     } 
    }] 
+0

On dirait que vous cherchez traversal arbre,. – Andrew

+0

Donc, vous devez continuer à traverser plus profond jusqu'à ce que vous manquiez de la propriété 'node' et que vous soyez parti avec la propriété' state'? – gurvinder372

Répondre

2

Essayez cette solution avec récursivité. si vous savez ce qui est

let obj = { 
 
    node: { 
 
     state: "test", 
 
     node: { 
 
     state: "test^test2", 
 
     node: { 
 
      state: "test^test2^test3", 
 
      node: { 
 
       state: "test^test2^test3^test4" 
 
      } 
 
     } 
 
     } 
 
    } 
 
}; 
 

 
function getLastNodeState(obj) { 
 
    return obj.node ? getLastNodeState(obj.node) : obj.state; 
 
} 
 

 
console.log(getLastNodeState(obj));

+0

J'ai l'objet dans un tableau, dans ce cas? –

+0

Peu importe, vous devez appeler cette fonction pour la propriété 'breadCrumbN' de chaque élément - getLastNodeState (item.breadCrumbN) –

+0

Cool, c'est compris. Je vous remercie! ici: var x = chase function() {var y = { name: "test" } retour y } comment ajouter cette dernière valeur à l'objet y? –