私はフラットなオブジェクトと、ツリーのようなオブジェクトを構築する必要のある配列を持っています。オブジェクトをループしてツリーを作成する方法オブジェクト
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
です。
この結果を得るためにループを構築する方法についてのアドバイスはありますか?
これ以上のレベルになるだろうありますか?このデータセットは今後も拡張されますか? –
'choices'配列は、各選択肢がツリー内に来るレベルを記述するためのものですか? @ brainwipeの質問は、正しい解決策にも関係しています。 –
@brainwipe:2つのレベルの選択肢があり、5つのレベルの選択肢があるかもしれません。 choices配列とitemsオブジェクトは実行時に決して変更されません。 – Dinkheller