У меня есть плоский массив, состоящий из следующих данных
[{
"text": "",
"type": "true_false",
"ans": {
"ans_1": true,
"ans_2": false
},
"correct_ans": "",
"reason": "",
"passage": ""
},
{
"text": "",
"type": "true_false",
"ans": {
"ans_1": true,
"ans_2": false
},
"correct_ans": "",
"reason": "",
"passage": ""
}, {
"text": "",
"type": "passage",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": "",
"passage": 3
}, {
"text": "",
"type": "multichoice",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": "",
"passage": ""
}, {
"text": "",
"type": "passage",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": "",
"passage": 3
}, {
"text": "",
"type": "passage",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": "",
"passage": 5
}
]
Но я хотел бы сгруппировать массив в следующем формате.
[{
"text": "",
"type": "true_false",
"ans": {
"ans_1": true,
"ans_2": false
},
"correct_ans": "",
"reason": "",
"passage": ""
},
{
"text": "",
"type": "true_false",
"ans": {
"ans_1": true,
"ans_2": false
},
"correct_ans": "",
"reason": "",
"passage": ""
}, {
"type": "passage",
"passage": 3,
"children": [{
"text": "",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": ""
}, {
"text": "",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": ""
}]
}, {
"text": "",
"type": "multichoice",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": "",
"passage": ""
}, {
"passage": 5,
"type": "passage",
"children": [{
"text": "",
"ans": {
"ans_1": "",
"ans_2": ""
},
"correct_ans": [],
"reason": ""
}]
}
]
Я искал в Интернете, но ; не мог получить желаемый результат. Я также наткнулся на этот Q / A Построить массив деревьев из плоского массива в javascript. Я пытался настроить ответ, но все еще не мог получить желаемый результат.