我有一個數組,看起來像這樣:JavaScript數組到對象
files = [
'Dashboard/Logs/Errors',
'Dashboard/Logs/Other',
'Accounts/Main',
]
我想使它看起來像這樣:
navigation = [
{
"title": "Dashboard",
"dropdown": [
{
"title": "Logs",
"dropdown": [
{
"title": "Errors",
},
{
"title": "Other",
}
]
}
]
},
{
"title": "Accounts",
"dropdown": [
{
"title": "Main",
}
]
}
]
我見到目前爲止以下內容:
var navigation = [];
for (var i = 0; i < files.length; i++) {
var parts = files[i].split('/');
navigation.push({title: parts[0]});
for (var j = 1; j < parts.length; j++) {
}
}
我有困難找出一個體面的方式來做到這一點。到目前爲止,我已經無法工作,因爲它在title: "Dashboard"
的每個導航下創建了兩個對象。任何想法都有一個聰明的方法?謝謝:)
請告訴我導航? 'navigation = [];'? – kulkarniankita
@Alec對象層次的深度是否固定?或者至少有最大深度? – stark
@kulkarniankita「導航」就是在那裏定義的。最終的結果應該是「導航」。 –