2017-10-19 4 views
1

JSオブジェクトの最後のプロパティ値を取得するにはいくつかのオプション、ノードオブジェクトが追加され、状態を選択し、私はこのソリューションを試してみてくださいどのようにここで毎回ユーザー

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

ツリートラバーサルを探しているようにあなたはそれが何であるかを知っていれば、見えます。 – Andrew

+0

したがって、 'node'プロパティを使い果たし、' state'プロパティだけを残すまで、より深くトラバースする必要がありますか? – gurvinder372

答えて

2

を投稿する最後のノードオブジェクトの状態を必要とします再帰を伴う。

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

私は配列内にオブジェクトを持っています、その場合は? –

+0

問題なく、すべてのアイテムのbreadCrumbNプロパティに対してこの関数を呼び出す必要があります。getLastNodeState(item.breadCrumbN) –

+0

クール、それを得ました。ありがとうございました!ここで : VAR X =関数チェイス(){ するvar Y = { 名: "テスト" }戻りY } Yオブジェクトへの最後の値を追加する方法 ? –

関連する問題