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

Javascript beginner help - array, while and for loop

本文关键字:while for 循环 数组 初学者 帮助 Javascript      更新时间:2023-09-26

我正在上一个初学者JavaScript课程。我无法弄清楚我在下面的作业中做错了什么。我不完全了解如何将这些碎片放在一起。我一直在使用火狐网络控制台进行调试。但是,我对此感到困惑。请给我关于如何改进以下代码的反馈。感谢您的反馈。=)

*

程序应的工作方式:*

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

var words = [];
while (true) {
    var word = prompt("Please enter a list of words or enter 'exit' to leave the prompt,"");
    if (word ==="exit") {
        break;
    }
    var total_words = 0;
    for (var index = 0; index < words.length; index++);{
      total_words = words.sort[index];
}
document.write(words[index]);

试试这个:

<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>

无论您使用哪种浏览器,请查看错误日志。在 Firefox 中,转到 Web Developer -> Error Console。在IE中,打开高级选项并取消选中"禁用脚本调试",然后查看加载页面时应出现的错误。在铬...我不记得我的头顶,也没有在这台电脑上。

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

  1. 未终止的字符串文本 - 查看您发布的内容中的语法突出显示。请注意prompt呼叫中缺少"
  2. 复合语句中缺少 } - 您的 for 循环有两个错误:一个是紧随其后的;。这不会导致实际的运行时错误,但它绝对不会达到您正在寻找的结果。使用块或循环,之后您可以只运行一行代码,当它到达分号时,它将标记循环的结束。在您的情况下,您只需要大括号。第二个问题是你有一个开放的大括号,没有相应的关闭。

此外,一旦你修复了这两个,脚本将在页面上写"undefined"。这是因为实际上没有任何内容添加到words。正如Joe Simmons的评论中提到的,你需要words.push(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