Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 陷入了一个不那么无限的循环?_Javascript_Arrays_Infinite Loop - Fatal编程技术网

Javascript 陷入了一个不那么无限的循环?

Javascript 陷入了一个不那么无限的循环?,javascript,arrays,infinite-loop,Javascript,Arrays,Infinite Loop,我对JavaScript非常陌生,所以请不要因为“无知”的问题而攻击我 在我当前的代码中,我陷入了一个似乎是无限循环(但不完全是无限循环)的状态,在经过5次提示后,循环最终结束 var authors = []; for(var authorName = 0; authorName < books.length; authorName++) { authors[0]=parseFloat(prompt(

我对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?"));

        }
var作者=[];
对于(var authorName=0;authorName
我不确定我是否只是没有正确设置数组或for循环,或者我需要做什么才能让它通过并填充数组


请记住,我对JavaScript非常陌生,所以最基本、最初级、最简单的答案是最好的。我只是想从现在开始在基础上站稳脚跟。(:

for
块的
中的每行代码按指定次数运行,在本例中为
books.length
次。每次循环运行循环计数器时,在本例中为
authorName
,它作为一个变量及其当前值可用,在本例中,它将在5次迭代中取0到4的值

for(var authorName = 0; authorName < books.length; authorName++)
{
  authors[authorName] = prompt("Who wrote " + books[authorName] + "?");
}
for(var authorName=0;authorName
我想你在找这个:

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] + "?"));
}
var bookNames=[
“战争与和平?”,
“哈克贝利·费恩?”,
“土著人的回归?”,
“圣诞颂歌?”,
“出埃及记?”
];
对于(var authorName=0;authorName

这只会触发5次,这是一种更好的方法来执行您试图执行的操作。此外,我会将
authorName
的名称更改为更好地描述它的名称。

您有一个
for
循环,它会在您所有的“书籍”中进行迭代。对于每本书,您的循环都会问5个问题。另外,为什么要对调用
prompt()的结果使用
parseFloat()
当你的问题似乎是询问姓名而不是数字时?你的…问题中没有包含一个问题。没有解决你的问题,但命名惯例有些奇怪。你有一个变量
authorName
,它似乎是一个int。为什么int会被称为
authorName
?哦,这很有意义。@Pointy,我只是出于经常使用数字的习惯。我甚至没有意识到我在这么做。一个要求是我应该有包括书名的提示。这就是我对如何使它工作感到困惑的地方。var books=[“战争与和平”、“哈克贝利·费恩”、“土著人的回归”,“圣诞颂歌”、“出埃及记”];是我最初发布的内容之前所拥有的内容。我应该拥有第一个数组books,然后使用for循环填充第二个数组authors,即pop。根据提示。是的!!这就是我试图做的,尽管我在脑海中无法理解它。为什么我在如此艰难的工作中决定主修计算机编程逻辑是我无法理解的。英语学得更好,但却对计算机无限着迷的诅咒!我现在唯一的问题是,当我打开文件时,它根本没有运行。好像没有出现提示。但逻辑是完全有道理的,这正是我一直试图解决的问题。