Я пробовал все, что пересеклось с моим мнением, но не повезло с этим циклом (хотя я довольно новичок в javascript).
Запрос должен задать вопрос до тех пор, пока ничего не будет введено. В этот момент все «результаты», которые были ранее введены, должны быть взяты и обработаны. Результат должен выглядеть так: (если введен для первого запроса: «CS A 4», 2-й «BB B 3», 3-й «CC C 3» ..): .... показывается только после того, как не было записи для n-го приглашенияJavascript Loop - не могу понять это из
COURSE GRADE HOURS
CS A 4
BB B 3
CC C 3
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>gpa.html</title>
</head>
<script type="text/javascript">
function getData(){
var input=0,
results=[];
while(input!==""){input = prompt("Enter course name, grade and credit hours (e.g., 'CS3520 A 4' or click OK with no data to terminate.");
input = input.split(" ");
if(input==""){
results.push({
course: input[0].trim(),
grade: input[1].trim(),
creditHours: parseInt(input[2], 10)
});}}
return results;
}
var app = function() {
var result, results,
COLUMN_SEPARATOR = "\t\t";
document.writeln("<pre>");
results = getData();
document.writeln("COURSE" + COLUMN_SEPARATOR + "GRADE" + COLUMN_SEPARATOR + "HOURS");
for (var i = 0, j = results.length; i < j; i++) {
result = results[i];
document.writeln(result.course + COLUMN_SEPARATOR + result.grade + COLUMN_SEPARATOR + result.creditHours);
}
document.writeln();
computeGPA(results);
document.writeln("</pre>");
}
window.onload = app;
</script>
<body>
</body>
</html>
Где, тем не менее, вы получаете этот цикл? –
не должен 'if (input ==" ") {' в вашей функции 'getData' быть чем-то вроде строк' if (input.length) {'? Я не думаю, что ваше текущее заявление всегда будет правдой. –