Я не понял весь вопрос и почему он представлен в двух отдельных массивах.
И я не знаю, какие инструменты вы можете использовать (так как это задание), но в двух словах вам нужно что-то вроде этого
var namn = ['Klara', 'Andrea', 'Emil', 'Sarah', 'Alicia', 'Victor', 'Thomas', 'Robert'];
var betyg = ['A', 'B', 'C', 'A', 'D', 'C', 'E', 'E'];
var dict = {};
for (var i = 0; i < namn.length; i++) {
dict[namn[i].toLowerCase()] = betyg[i];
}
function getGrade(name) {
return dict[name.toLowerCase()] || undefined;
}
var $app = document.body;
var input = document.createElement('input');
input.type = 'text';
var button = document.createElement('button');
var ul = document.createElement('ul');
button.innerText = 'Get Grade';
button.addEventListener('click', function() {
var grade = getGrade(input.value)
if (grade) {
var li = document.createElement('li');
li.innerText = input.value + ' grade is: ' + grade;
ul.appendChild(li);
}
});
$app.appendChild(input);
$app.appendChild(button);
var div = document.createElement('div');
div.appendChild(ul);
$app.appendChild(div);
Я не сделал так много рефакторов (например, создание элемента или других вещей);
Если оценка учащегося ведется по индексу (не может найти лучшего слова) с массивом имен, сначала вы можете создать Объект (пары ключ-значение), а затем просто получить оценку, передавая имя учащегося.
Остальное просто помещает результат в HTML.
Я также добавляю данные для получения имени и, нажимая на кнопку, создается список.
Если вы хотите провести рефакторинг своего решения, вы можете использовать что-то такое:
var namn = ["Klara", "Andrea", "Emil", "Sarah", "Alicia", "Victor", "Thomas", "Robert"];
var betyg = ["A", "B", "C", "A", "D", "C", "E", "E"];
function getGrade() {
for (var i=1; i<=namn.length; i++) {
document.getElementById('student' + i ).innerText = namn[i-1] + ' Betyg' + betyg[i-1]
}
}