Показать сообщение отдельно
  #1 (permalink)  
Старый 27.06.2023, 20:58
Новичок на форуме
Отправить личное сообщение для alrosavilla Посмотреть профиль Найти все сообщения от alrosavilla
 
Регистрация: 27.06.2023
Сообщений: 9

выводить случайные значения из массива переменной
Здравствуйте.
Пытаюсь сделать сайтик обучалку по английскому. На странице текст с пропусками, которые пользователю нужно заполнить. В зависимости от ответа появляются комментарии (верно/не верно). Это сделать получилось.
Но. Хочу чтоб на ответ пользователя появлялись разные комментарии из списка вариантов.
Вот код который сейчас.

function proverit(){
let good_commentArray = ['well done!', correct!', 'good job!'];
let good_rand = Math.floor(Math.random()*good_commentArray.length) ;
let good_comment = good_commentArray[good_rand];
let bad_commentArray = ['incorrect', 'try again', 'wrong'];
let bad_rand = Math.floor(Math.random()*bad_commentArray.length);
let bad_comment = bad_commentArray[bad_rand];
right_answer_1 = "saying";
right_answer_2 = "been";
let right_answer_3 = ["don't", "do not"];
user_answer_1 = document.getElementById('z_1').value;
user_answer_2 = document.getElementById('z_2').value;
user_answer_3 = document.getElementById('z_3').value;
if (user_answer_1.toLowerCase() == right_answer_1.toLowerCase())
{ document.getElementById('result_1').innerHTML = good_comment
document.getElementById("result_1").classList.remo ve("wrong");
document.getElementById("result_1").classList.add( "correct");
}
else {document.getElementById("result_1").innerHTML = bad_comment;
document.getElementById("result_1").classList.add( "wrong");
document.getElementById("result_1").classList.remo ve("correct");
}
if (user_answer_2.toLowerCase() == right_answer_2.toLowerCase())
{ document.getElementById('result_2').innerHTML = good_comment
document.getElementById("result_2").classList.remo ve("wrong");
document.getElementById("result_2").classList.add( "correct");
}
else {document.getElementById('result_2').innerHTML = bad_comment
document.getElementById("result_2").classList.add( "wrong");
document.getElementById("result_2").classList.remo ve("correct");
}
if ((user_answer_3.toLowerCase() == right_answer_3[0].toLowerCase()) || (user_answer_3.toLowerCase() == right_answer_3[1].toLowerCase()))
{ document.getElementById('result_3').innerHTML = good_comment
document.getElementById("result_3").classList.remo ve("wrong");
document.getElementById("result_3").classList.add( "correct");
}
else {document.getElementById('result_3').innerHTML = bad_comment
document.getElementById("result_3").classList.add( "wrong");
document.getElementById("result_3").classList.remo ve("correct");
}

Проблема в том что хоть комментарии и меняются, но у всех полей появляется один и тот же комментарий.
Подскажите, пожалуйста, как можно сделать так, чтоб у каждого поля с ответом пользователя появлялся свой комментарий из списков let good_commentArray и let bad_commentArray?
Ответить с цитированием