Если код был правильно отформатирован, если его было бы намного сложнее для чтения.
while (true) {
user = prompt('what student are you looking for?');
if (user === 'quit') {
break;
}
for (var i = 0; i < students.length; i += 1) {
student = students[i];
if (student.name === user) {
message = studentreport(student);
print(message);
} else if (student.name !== user) {
alert('no student with that name, try again');
} // It is easy to see where the if and else are
} // It is easy to see this is the end of the for loop
}
Но было бы намного проще читать в современном функциональном стиле для циклов.
ИспользованиеПодобный цикл while означает, что поток пользовательского интерфейса заблокирован, и вы не увидите никаких результатов, пока не наберете quit.Используйте обработчики событий, и поток пользовательского интерфейса можно обновлять бесплатно.Наличие кнопки поиска, которая запускает ваш код в событии щелчка, означает, что не существует постоянно запущенного цикла блокировки кода.
function print(message) {
var outputd = document.getElementById('output');
outputd.innerHTML = message;
}
var students = [
{
name: 'Dave',
track: 'Front End Development',
achievements: 158,
points: 14730
},
{ name: 'Jody', track: 'iOS Development with Swift', achievements: '175', points: '16375' },
{ name: 'Jordan', track: 'PHP Development', achievements: '55', points: '2025' },
{ name: 'John', track: 'Learn WordPress', achievements: '40', points: '1950' },
{ name: 'Trish', track: 'Rails Development', achievements: '5', points: '350' }
];
function studentreport(studen) {
var report = '<h2>student: ' + studen.name + '</h2>';
report += '<br>' + 'track: ' + studen.track + '</br>';
report += '<br>' + 'achivements: ' + studen.achivements + '</br>';
report += '<br>' + 'points: ' + studen.points + '</br>';
return report;
}
document.getElementById('search').addEventListener('click', function() {
const user = document.getElementById('user').value;
const student = students.find(s => s.name === user);
if (student) {
const message = studentreport(student);
print(message);
} else {
print('no student with that name, try again');
}
});
what student are you looking for? <input id="user" type="text"><button id="search">Search</button><br>
<div id="output"></div>