我对JavaScript非常陌生,所以请不要因为“无知”而攻击我。的问题。
在我目前的代码中,我被困在似乎是无限循环(但并非完全无限)的东西中,最终在经过我的所有提示后5次结束。
var authors = [];
for(var authorName = 0; authorName < books.length; authorName++)
{
authors[0]=parseFloat(prompt("Who wrote War and Peace?"));
authors[1]=parseFloat(prompt("Who wrote Huckleberry Finn?"));
authors[2]=parseFloat(prompt("Who wrote The Return of the Native?"));
authors[3]=parseFloat(prompt("Who wrote A Christmas Carol?"));
authors[4]=parseFloat(prompt("Who wrote Exodus?"));
}
我不确定如果我没有正确设置阵列或for循环,或者我需要做些什么来让它完成并填充数组。
请记住,我是JavaScript的新手,所以最基本,初学者,简单的答案是最好的。我现在正试图在基础知识上站稳脚跟。 (:
答案 0 :(得分:1)
我认为你正在寻找这个:
var bookNames = [
"War and Peace?",
"Huckleberry Finn?",
"The Return of the Native?",
"A Christmas Carol?",
"Exodus?"
];
for(var authorName = 0; authorName < books.length; authorName++)
{
authors[authorName]=parseFloat(prompt("Who wrote " + bookNames[authorName] + "?"));
}
这只会触发5次,是您尝试做的更好的方法。另外,我会将authorName
的名称更改为更好地描述它的内容。
答案 1 :(得分:0)
for
块中的每一行代码都会按指定的次数运行多次,在本例中为books.length
次。每次循环运行时,循环计数器(在这种情况下为authorName
)可用作具有当前值的变量,在这种情况下,它将在5次迭代中取值0到4。
for(var authorName = 0; authorName < books.length; authorName++)
{
authors[authorName] = prompt("Who wrote " + books[authorName] + "?");
}