Я хочу, чтобы появилось сообщение с просьбой ввести имя студента. Javascript просматривает записи ученика, которые находятся в отдельном файле JS, а затем выводит информацию ученика в переменную сообщения.
Вот соответствующий код JavaScript:
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'
}
];
function print(message) {
document.write(message);
}
var message="";
var flag=false;
var search=prompt("Type name of student. Type 'quit' to exit.");
while (search!=="quit") {
for (var i=0; i<students.length; i+=1) {
var studentName=students[i].name;
if (studentName===search) {
flag=true;
break;
}
}
if (flag) {
message+="<h1>"+studentName+"</h1>";
message+="<p>"+students[i].track+"</p>";
message+="<p>"+students[i].achievements+"</p>";
message+="<p>"+students[i].points+"</p>";
} else {
alert("That student does not exist. Try again");
search=prompt("Type name of student");
}
}
print(message);
Я понимаю, что я близок, однако моя единственная проблема в том, что любая переменная, к которой я пытаюсь получить доступ из цикла for, будет локальной только для этого цикла. Итак, как будут работать мои условия if и else, если я не могу получить доступ к локальным переменным цикла в моих условных выражениях? Я просто хочу, чтобы он нашел совпадение, как только это произойдет, остановит цикл for и затем перейдет к использованию этого конкретного индекса элемента.