Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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初学者帮助-数组、while和for循环_Javascript - Fatal编程技术网

Javascript初学者帮助-数组、while和for循环

Javascript初学者帮助-数组、while和for循环,javascript,Javascript,我正在上javascript初学者课程。我不知道我在下面的作业中做错了什么。我不完全理解如何把这些片段组合在一起。我一直在使用Firefox web控制台进行调试。然而,在这一点上,我很难说。请给我反馈如何改进下面的代码。非常感谢您的反馈。=) *程序的工作方式: 提示用户输入一系列单词(存储在数组中) 它应该包括一个退出提示的选项 最后,对单词列表进行排序并将它们连接在一起 var-words=[]; while(true){ var word=prompt(“请输入单词列表或输入'exit

我正在上javascript初学者课程。我不知道我在下面的作业中做错了什么。我不完全理解如何把这些片段组合在一起。我一直在使用Firefox web控制台进行调试。然而,在这一点上,我很难说。请给我反馈如何改进下面的代码。非常感谢您的反馈。=)

*程序的工作方式:

  • 提示用户输入一系列单词(存储在数组中)
  • 它应该包括一个退出提示的选项
  • 最后,对单词列表进行排序并将它们连接在一起

  • var-words=[];
    while(true){
    var word=prompt(“请输入单词列表或输入'exit'退出提示,”);
    如果(字==“退出”){
    打破
    }
    var total_words=0;
    对于(var索引=0;索引
    对于您正在使用的浏览器,请查看错误日志。在Firefox中,转到Web Developer->error Console。在IE中,打开高级选项并取消选中“禁用脚本调试”“,然后看一看加载页面时应该出现的错误。在Chrome中……我记不清了,这台计算机上也没有

    您应该会看到以下错误消息:

  • Unterminated string literal-查看您发布内容中突出显示的语法。注意您的
    提示符
    调用中缺少的
  • 失踪}在复合语句中-你的
    for
    循环有两个错误:一个是紧接着的
    。这不会导致实际的运行时错误,但它肯定不会达到你想要的结果。对于块或循环,你可以在之后只运行一行代码,当它到达一个sem时,它会标记循环的结束在你的例子中,你只需要花括号。第二个问题是你有一个开放的花括号,而没有相应的闭括号
  • 此外,一旦您修复了这两个问题,脚本将在页面上写入“undefined”。这是因为没有任何内容实际添加到
    单词中。正如Joe Simmons在评论中提到的,您需要
    单词。按(word)
    将单词添加到数组中

    我不确定
    total_words
    变量的作用是什么,因为您从未实际使用过它,但这里是您需要做的事情的开始,忽略了这一点。我还删除了
    for
    循环,因为它仅与
    total_words
    变量一起使用:

    var words = [];
    while (true) {
        var word = prompt("Please enter a list of words or enter 'exit' to leave the prompt", ""); //fix the quote issue here
        if (word ==="exit") {
            break;
        }
        words.push(word); //add entered word to array
    }
    words.sort(); //sort *after* the loop
    document.write(words.join(",")); //this will write the words as a comma-separated list, as an example
    
    因此,如果您在提示中输入“狗”、“猫”和“河马”,则输出将为:

    cat,dog,hippopotamus
    
    试试这个:

    <script type="text/javascript">
    var words = new Array();
    while (true) {
      var word = prompt("Please enter a list of words or enter 'exit' to leave the prompt","");
      if (word ==="exit") {
        break;
      }
      words.push(word);
    }
    words.sort();
    document.write(words);
    
    </script>
    
    
    var words=新数组();
    while(true){
    var word=prompt(“请输入单词列表或输入'exit'以离开提示“,”);
    如果(字==“退出”){
    打破
    }
    推(字);
    }
    words.sort();
    文件。书写(文字);
    
    提示末尾的
    是否只是问题中的一个输入错误?作为一般提示:试着避开
    提示和
    文档。完成本课程后立即编写
    。只是永远不要真正使用它。
    单词。排序[索引]
    永远不会起作用。你不必每次都对它们进行排序,只需在你找到所有需要的单词后进行一次排序。使用
    单词。按(单词)
    将单词添加到数组中,并在while循环完成后对其进行排序。我可以给您工作代码,但这无助于您的学习。请查看这一行中SO的颜色编码:
    var word=prompt(“请输入单词列表或输入'exit'以离开提示,”。您没有关闭原始字符串,因此文章中较低的行包含在该字符串中。一切都搞砸了。将其更改为
    var word=prompt(“请输入单词列表或输入'exit'以离开提示“,”)大家好,感谢所有建设性的反馈。我甚至没有想过使用push()方法。直到现在我才用过。我用total_单词访问数组。我知道我写的不对。我只需要练习就可以了。
    
    <script type="text/javascript">
    var words = new Array();
    while (true) {
      var word = prompt("Please enter a list of words or enter 'exit' to leave the prompt","");
      if (word ==="exit") {
        break;
      }
      words.push(word);
    }
    words.sort();
    document.write(words);
    
    </script>