次のデータ構造を持つJSON配列があります
"Jobs":
[
{ "id": "1", "JobTitle": "Engineer", "PID": "null" },
{ "id": "2", "JobTitle": "Project Manager", "PID": "null" },
{ "id": "5", "JobTitle": "Auditing Manager", "PID": "2" },
{ "id": "7", "JobTitle": "Auditor", "PID": "5" },
{ "id": "6", "JobTitle": "QA Manager", "PID": "5" },
{ "id": "3", "JobTitle": "QA", "PID": "6" },
{ "id": "4", "JobTitle": "Business Analyst", "PID": "2" }
]
Jquery と Knockoutjs (オプション) を使用して Java スクリプトを作成し、javascript と html を使用してチーム構造 (組織) を構築したいと考えています。1000 件のレコードがあり、それを処理するために多くの再帰ループを試しましたが、成功しませんでした。
出力はこのようにする必要があります
<ul id="root">
<li>Engineer</li> //since their pid is null, then they are root nodes ( yeah not only root)
<li>Project Manager</li>
<ul>
<li>Auditing Manager</li>
<li>Business Analyst</li>
</ul>
など、多くのレベル (深さ) を処理する必要があります。誰かが DFS または BFS を提案するでしょうが、私はそれらをうまく実装できませんでした。