0

I have made two arrays. One with student names and one with grades. I'm trying to make a function that returns all students sorted by their respective grades. And i need to have two arrays. So far i've only created this:

var namn = ["Tom", "John", "Hanna", "Adam", "Sofie"];
var betyg = ["B", "C", "A", "D", "E"];

function printGrade(namn)
{
var namnetsbetyg = getGrade(namn)
document.getElementById('resultat').innerHTML = namnetsbetyg;
}

function getGrade(ettNamn)
{
var ettBetyg;
for(var i=0;i<namn.length;i++)
{
if(namn[i]==ettNamn)
{
ettBetyg = betyg[i];
}
}
return ettBetyg;
}

<input type="text" id="namn" />
    <input type="button" value="Få betyg" onclick="printGrade(document.getElementById('namn').value)"/>
    <div id="resultat"/>
J. Doe Foe
  • 75
  • 2
  • 6
  • Pair them. You know how to use `sort` function, right? – user202729 Jan 21 '18 at 13:38
  • [Read this](https://stackoverflow.com/q/22015684/5267751). – user202729 Jan 21 '18 at 13:39
  • 1
    *"I have made two separate arrays."* Why? Why not one array? `var results = [{name: "Tom", grade: "B"}, {name: "John", grade: "C"}, {name: "Hanna", grade: "A"}, {name: "Adam", grade: "D"}, {name: "Sofie", grade: "E"}];` *(never heard of an E grade, but...). – T.J. Crowder Jan 21 '18 at 13:45
  • You'd probably benefit from storing your data as an array of student-grade pairs `[['Tom', 'B'],...]` or an array of objects: `[{name:"Tom", grade:"B"},...]` – Khauri Jan 21 '18 at 13:46
  • Aww @T.J.Crowder you beat me to it. Also my strange high school had both E's and F's. – Khauri Jan 21 '18 at 13:48

0 Answers0