Мне нужно сгруппировать «сырые» данные Firestore, которые я получаю, в формат массива, который я могу использовать для их отображения соответствующим образом.
Я получаю это из Firestore:
{
activityName: "BFG",
comment: "Roger is naughty",
mark: 86,
subject: "English",
task: "reading",
term:1,
year: 2019
}, {
activityName: "The Twits",
comment: "Roger is really good",
mark: 99,
subject: "English",
task: "reading",
term:2,
year: 2019
},
{
activityName: "Basic sums",
comment: "Roger is average",
mark: 19,
subject: "Maths",
task: "Addition",
term:2,
year: 2019
}
и я хочу представить это как сгруппированные данные в аккордеонном образовании
Год -> Срок -> Предмет -> Задача -> ActivityName -> Отметить (и комментарии)
Поэтому я считаю, чтоЛучший / самый простой способ - преобразовать данные в следующий формат, чтобы упростить цикл для отображения сгруппированных данных.
{
year:2019,
terms: [
{term: 1,
subjects: [
{subject: "English",
tasks: [
{task: "reading",
activities: [
{activityName: "BFG",
result: [
{comment: "Roger is naughty",
mark: 86
}]
}]
}]
}]
},
{term: 2,
subjects: [
{subject: "English",
tasks: [
{task: "reading",
activities: [
{activityName: "The Twits",
result: [
{comment: "Roger is really good",
mark: 99
}]
}]
}]
}]
},
{term: 2,
subjects: [
{subject: "Maths",
tasks: [
{task: "Addition",
activities: [
{activityName: "Basic sums",
result: [
{comment: "Roger is average",
mark: 19
}]
}]
}]
}]
}
]
}
Будем весьма благодарны за любые предложения относительно циклов или идей для создания этой обновленной структуры..