我有一個扁平對象和一個數組,我需要從中構建一個樹狀對象。如何通過對象循環並創建樹對象
choices: ['choice1', 'choice2', 'choice3'];
items: [
{
choice1: 'taste',
choice2: 'good',
choice3: 'green-lemon'
},
{
choice1: 'taste',
choice2: 'bad',
choice3: 'green-lemon'
}
];
該數組描述了每個選項將在樹中出現的級別。我不知道稍後會有多少選擇,項目或級別。
如何獲得下列對象:
output: {
taste: {
good: {
green-lemon:1
},
bad: {
green-lemon:1
}
}
}
我需要說明有多少項目有每個級別上的對象。在這個例子中,這是choice1: 1;
choice2: 2
和每個choice3: 1
。
關於如何建立一個循環來得到這樣的結果有什麼建議?
是否有將是比這更水平?這個數據集是否會擴展? –
「選擇」數組旨在描述樹中每個選擇的級別? @ brainwipe的問題也與正確的解決方案有關。 –
@brainwipe:可能只有2個層次的選擇,可能有5個層次的選擇。選擇數組和項目對象在運行時永遠不會改變。 – Dinkheller