2017-10-19 38 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

很酷,明白了。謝謝! 這裏: 變種X =功能大通(){VAR Y = { 名稱: 「測試」 } 返回是 } 如何添加一個值到y的對象? –