Je reçois actuellement des données JSON et je souhaite les formater dans un tableau à l'aide de javascript et html. Toute aide est appréciée.
Les données JSON que je reçois après une demande de récupération ressemblent à ceci:
{
"results": [
{
"studentId": "Damien.Hammes93",
"score": 0.778678577215454
},
{
"studentId": "Beverly56",
"score": 0.7879353094963757
},
{
"studentId": "Tyshawn37",
"score": 0.723347659626473
},
]
}
Voici comment je veux que le tableau soit formaté:
<table>
<tr>
<th>Student ID</th>
<th>Grade</th>
</tr>
<tr>
<td>Damien.Hammes93</td>
<td>0.778678577215454</td>
</tr>
<tr>
<td>Beverly56</td>
<td>0.7879353094963757</td>
</tr>
<tr>
<td>Tyshawn37</td>
<td>0.723347659626473</td>
</tr>
</table>
Voici à quoi ressemble actuellement mon code:
window.addEventListener('load', async() => {
const studentsTableTag = document.getElementById("studentsTable");
// studentsTableTag selects the student <table>
const studentsData = await receivesExamOrStudentData(enpoints['students']);
//studentsData returns the students JSON listed above
const studentsTable = (ele) => {
let html = `<table><tr>`;
html += `<td id="studentID" > ${ele} </td>`;
html += `</tr></table>`;
return html
}
const htmlStudents = studentsData.map(student =>
`<tr>${studentsTable(student)}</tr>`
).join('')
studentsTableTag.innerHTML = htmlStudents
})
0
bruce
4 nov. 2019 à 06:47
2 réponses
Je suggère d'utiliser des moteurs de modèles pour cela. ex: moustache, guidon, etc. Cela vous facilite la vie si vous devez le faire pour différentes choses
-1
Aditya
4 nov. 2019 à 04:25
Vous manquez peu de choses. 1. Pas besoin d'ajouter d'élément de table pour chaque élément étudiant 2. Vous avez manqué d'ajouter les en-têtes 3. ${ele}
est un objet, vous devez imprimer deux td
pour studentId et grade
window.addEventListener('load', async () => {
const studentsTableTag = document.getElementById("studentsTable");
// studentsTableTag selects the student <table>
const studentsData = {
"results": [{
"studentId": "Damien.Hammes93",
"score": 0.778678577215454
},
{
"studentId": "Beverly56",
"score": 0.7879353094963757
},
{
"studentId": "Tyshawn37",
"score": 0.723347659626473
},
]
}
//studentsData returns the students JSON listed above
const studentsTable = (ele) => {
let html = ``;
html += `<td class="studentID" > ${ele.studentId} </td>`;
html += `<td class="score" > ${ele.score} </td>`;
return html
}
const htmlStudents = studentsData.results.map(student =>
`<tr>${studentsTable(student)}</tr>`
).join('')
studentsTableTag.innerHTML = '<tr><th>Student ID</th><th>Grade</th></tr>' + htmlStudents;
})
<table id="studentsTable"></table>
4
Vineesh
4 nov. 2019 à 04:01