0
我有一個需要創建樹/對象結構的URI列表。例如這裏是URI的爲URI創建路徑樹
/api/abc/xyz/abc/cde
/api/xyz/abc/d3/d2
/api/abc/cde/d3/d2
/api/abc/cde/d1/d2
結果樹應該是這樣的
{
api: {
abc: {
xyz: {
abc: {
cde: {}
}
},
cde: {
d3: {
d2: {}
},
d1: {
d2: {}
}
}
},
xyz: {
abc: {
d3: {
d2: {}
}
}
}
}
}
我需要用JavaScript來做到這一點。有什麼算法可以用來構建它?我從下面的代碼開始,但我有點迷路了!
paths=['/api/abc/xyz/abc/cde',
'/api/xyz/abc/d3/d2',
'/api/abc/cde/d3/d2',
'/api/abc/cde/d1/d2' ];
var apiResources = {};
for(var i in paths) {
var path = paths[i];
//split by '/'
var parts = path.split("/");
var node = apiResources;
for (var i = 0; i < parts.length; i++) {
if (!node[parts[i]]) {
node[parts[i]] = {};
}
node = node[parts[i]];
}
}
似乎很簡單。你有嘗試過什麼嗎? – Tempux
@ sudomakeinstall2是的。我現在編輯了我的代碼。謝謝 –
但是那已經做了你想要的?你可能想跳過第一個元素('[「」,「api」,「abc」,「xyz」,「abc」,「cde」]')。 – Caramiriel