我有這樣的數組:的Javascript嵌套數組元素得到
"pages": [{
"key": "1",
"pages": [{
"key": "2",
"pages": [{
"key": "3"
}]
},
{
"key": "4",
"pages": [{
"key": "5"
}]
}]
}]
其中鍵1和4是在相同的水平和1包含2含有3和鍵4中包含5我想要的結果是在訂單[3,2,5,1,4]。我已經嘗試了以下遞歸,但我無法獲得正確的順序。
function fnGetAll (oTopDetailPage, array) {
var i;
for (i=0; i<oTopDetailPage.length; i++) {
array.push(oTopDetailPage[i]);
if(oTopDetailPage[i].pages) {
fnGetAllSubPages(oTopDetailPage[i].pages, array);
}
}
return array;
}
你要爲並沒有真正意義的輸出。你能改變你的期望嗎?也許是一個包含父頁面的對象,然後是像{{1:[2,3],4:[5]}}這樣的子對象。爲什麼你需要輸出你要求的? –
如果在對象的「頁面」屬性中添加另一個頁面,其中包含「6」的「關鍵字」,並且「鍵」爲「1」,那麼這些頁面將落在輸出中,爲什麼? –
爲什麼'5'先於'1'? – julekgwa