2
J'ai la suite comme entréeTransposition en Javascript
[
{
"level1": [
{ "subject": "English", "avgScore": 100% },
{ "subject": "Math", "avgScore": 80% }
]
},
{
"level2": [
{ "subject": "English", "avgScore": 90% },
{ "subject": "Math", "avgScore": 75% }
]
},
{
"level3": [
{ "subject": "English", "avgScore": 100% },
{ "subject": "Math", "avgScore": 80% },
{ "subject": "Science", "avgScore": 90% }
]
},
{
"level4": [
{ "subject": "Math", "avgScore": 80% },
{ "subject": "Science", "avgScore": 90% }
]
},
{
"level5": [
{ "subject": "Computer", "avgScore": 80% }
]
}
]
et je suis en train de convertir en la forme suivante
[
{
label: "English",
values:[
{ grade: "level1", avgScore: 100% },
{ grade: "level2", avgScore: 90% },
{ grade: "level3", avgScore: 100% }
]
},
{
label: "Math",
values:[
{ grade: "level1", avgScore: 80% },
{ grade: "level2", avgScore: 75% },
{ grade: "level3", avgScore: 80% },
{ grade: "level4", avgScore: 80% }
]
},
{
label: "Science",
values:[
{ grade: "level3", avgScore: 90% },
{ grade: "level4", avgScore: 90% }
]
},
{
label: "Computer",
values:[
{ grade: "level5", avgScore: 80% }
]
}
]
Jusqu'à présent, j'ai le code suivant qui ne me donne pas le tableau des valeurs
convert(inputFormat) {
const subjects = Array.from(inputFormat.reduce((acc, subject) => {
const level = Object.keys(subject)[0];
subject[level].forEach((levelZone) => {
acc.add(levelZone.subject);
});
return acc;
}, new Set()));
return subjects.map((subject) => {
return {
label: subject,
values: inputFormat.map((subject) => {
return Object.keys(subject)[0]
}, []);
}
});
}
Est-ce le code réel? Vos pourcentages ne sont pas enveloppés comme des chaînes et cette fonction génère des erreurs de syntaxe. – Phix