我有这样的数组:的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