3 votes

Comment puis-je faire en sorte que toutes mes valeurs soient affichées sur mon tableau ?

J'ai donc essayé de changer la valeur zéro dans "e.push(addScore(e[0]))" en 1 et, en fait, il n'affiche que les quatre premières variables du tableau. Mais lorsqu'il s'agit d'un zéro, toutes les notes sont considérées comme des échecs, mais toutes les variables sont affichées dans le tableau. Je veux être capable de lister toutes les variables et la classe correcte pour chaque étudiant.

var score = [
['Mary', 65],
['Jim', 70],
['Albert', 85],
['Carroll', 90],
['Francis', 50],
['Micheal', 62],
['John', 76],
['Tim', 88],
['Carlos', 64],
['Steven', 45]
],
 table = document.getElementById("table");

 function addScore(score) {
  let grade = '1'
  if (score >= 80) {
    grade = 'High Distinction';
  } else if (score >= 70 && score < 80) {
    grade = 'Distinction';
  } else if (score >= 60 && score < 70) {
    grade = 'Credit';
  } else if (score >= 50 && marks < 60) {
    grade = 'Pass';
  } else {
    grade = 'Fail';
  }
   return grade
  }

// itération sur le tableau score.forEach((e, i) => { var newRow = table.insertRow(table.length) ;

// adding score to each row
 e.push(addScore(e[0]))
 e.forEach((el, j) => {
 var cell = newRow.insertCell(j)
 cell.innerHTML = el
})
})

//this is for my inner html
<table id="table">
 <tr>
  <th>Name</th>
  <th>Score</th>
  <th>Grade</th>
  </tr>
</table>

3voto

Nikhil Points 4243

Vous y êtes presque. Les scores sont le deuxième élément du tableau, vous devez donc utiliser l'indice 1 au lieu de l'indice 0 .

e.push(addScore(e[1]));

De plus, il y a une erreur de frappe dans votre code.

else if (score >= 50 && marks < 60) {
    grade = 'Pass';

Remplacer marks dans la déclaration ci-dessus avec score .

C'est la raison pour laquelle seules quatre entrées sont affichées au lieu de toutes. La cinquième valeur du tableau (score de 50) répond à cette condition et déclenche un message d'erreur undefined erreur.

Exemple en direct :

var score = [
    ['Mary', 65],
    ['Jim', 70],
    ['Albert', 85],
    ['Carroll', 90],
    ['Francis', 50],
    ['Micheal', 62],
    ['John', 76],
    ['Tim', 88],
    ['Carlos', 64],
    ['Steven', 45]
  ],
  table = document.getElementById("table");

function addScore(score) {

  if (score >= 80) {
    grade = 'High Distinction';
  } else if (score >= 70 && score < 80) {
    grade = 'Distinction';
  } else if (score >= 60 && score < 70) {
    grade = 'Credit';
  } else if (score >= 50 && score < 60) {
    grade = 'Pass';
  } else {
    grade = 'Fail';
  }
  return grade;
}

score.forEach((e, i) => {
  var newRow = table.insertRow(table.length);

  // adding score to each row
  e.push(addScore(e[1]));

  e.forEach((el, j) => {
    var cell = newRow.insertCell(j);
    cell.innerHTML = el;
  })
})

<table id="table">
  <tr>
    <th>Name</th>
    <th>Score</th>
    <th>Grade</th>
  </tr>
</table>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X