поэтому я планировал, чтобы появилось сообщение с просьбой ввести имя студента.Javascript просматривает запись, которая находится в отдельном файле JS, а затем выводит ее в переменную сообщения.Если предположить, что ученик не существует, выходное сообщение будет окно предупреждения в инструкции else.
Вот запись ученика:
var students=[
{
name:'Chris',
track:'IOS',
achievements:'100',
points:'1000'
},
{
name:'John',
track:'Web Design',
achievements:'90',
points:'1000'
},
{
name:'Brent',
track:'Front-End',
achievements:'70',
points:'1000'
},
{
name:'Josh',
track:'Full-Stack',
achievements:80,
points:'1000'
},
{
name:'Nick',
track:'AI',
achievements:'60',
points:'1000'
}
];
var message="";
var search=prompt("Type name of student");
while (search!=="quit") {
for (var i=0; i<students.length; i+=1) {
var studentName=students[i].name;
if (studentName===search) {
message+="<h1>"+studentName+"</h1>";
message+="<p>"+student[i].track+"</p>";
message+="<p>"+student[i].achievements+"</p>";
message+="<p>"+student[i].points+"</p>";
break;
} else {
alert("That student does not exist. Try again");
break;
}
}
search=prompt("Type name of student");
}
print(message);
Когда я пытаюсь этот код,он спрашивает у меня имя студента, а затем говорит, что он / она недоступен.По-видимому, определение того, что ученика нет в списке, должно быть сделано только после того, как цикл завершил проверку всех учеников.Тогда, и только если ничего не было найдено, должно появиться сообщение об ошибке.
Проблема для меня, концептуально, заключается в том, что конечное значение переменной, studentName, после окончания цикла for будет свойством nameпоследнего объекта в массиве.Итак, как мне изменить дизайн цикла for?
Как я могу изменить дизайн своего кода, чтобы добиться этого?