0
私はツリー/オブジェクト構造を作成する必要があるURIのリストを持っています。例えば、ここでのURIURIのパスツリーを構築する
/api/abc/xyz/abc/cde
/api/xyz/abc/d3/d2
/api/abc/cde/d3/d2
/api/abc/cde/d1/d2
で結果ツリーは、私はJavaScriptでこれを行う必要があり、この
{
api: {
abc: {
xyz: {
abc: {
cde: {}
}
},
cde: {
d3: {
d2: {}
},
d1: {
d2: {}
}
}
},
xyz: {
abc: {
d3: {
d2: {}
}
}
}
}
}
のようになります。私はこれを構築するために使用できるアルゴリズムはありますか?私は以下のコードから始めましたが、ちょっと迷ってしまいました!!
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