[英]iterating through array of nested objects with javascript/lodash
我有一個對象數組,代表一個嵌套的導航列表。
[
{
name: 'one',
link: 'blah/blah',
pages: [
{
name: 'one A'
link: 'blah/blah',
pages: []
},
{
name: 'one B'
link: 'blah/blah',
pages: []
},
{
name: 'one C'
link: null,
pages: [
{
name: 'one C I'
link: 'blah/blah',
pages: []
}
]
}
]
}
]
第一級對象可以具有鏈接,並且嵌套對象將具有一個或多個頁面的頁面。 我不能假設嵌套的深度有限。 我需要一個包含其名稱,其鏈接(如果存在)及其所有父項的狀態的對象。 我目前的解決方案不能解釋超過3個嵌套級別,並且為每個層添加支持是費力的。
我還需要能夠搜索生成的對象數組,以便稍后獲取它們的鏈接,如果這對解決方案產生影響。
我需要一個javascript解決方案,但也可以(並且希望)使用lodash庫中包含的函數
這是一種循環遍歷數組的方法:
var arrPages = [{
name: 'one',
link: 'blah/blah',
pages: [{
name: 'one A',
link: 'blah/blah',
pages: []
},
{
name: 'one B',
link: 'blah/blah',
pages: []
},
{
name: 'one C',
link: null,
pages: [{
name: 'one C I',
link: 'blah blah',
pages: []
}]
}]
}];
function recursiveFunction(collection){
_.each(collection, function(model){
console.log(model);
if(model.pages.length > 0){
recursiveFunction(model.pages);
}
});
};
recursiveFunction(arrPages);
這是你需要的,還是你需要更具體的東西? 根據你上次的評論,如果你還需要其他任何東西,我會有點困惑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.