【问题标题】:Prompt for 5 words then display longest word javascript提示输入 5 个单词,然后显示最长的单词 javascript
【发布时间】:2015-05-22 15:49:30
【问题描述】:

我试图提示输入 5 个单词,然后将单词分开以找到最长的单词,然后使用 java 脚本显示最长的单词。我可以做任何事情,它甚至不会提示输入单词。

function longestWord(string) {
    var word = prompt("Enter a string of at least 5 words separated by spaces:") ;
    var str = string.split(" ");
    var longest = 0;
    str.forEach(function(str) {
        if (longest < str.length) {
            longest = str.length;
            word = str;
        }
    });
    return word;
    document.write("The longest word is " +word+ ".") ;
}
longestWord(string)

【问题讨论】:

  • document.write("The longest word is " +word+ ".") ; 在 return 语句之后无法访问
  • 你做了string.split(" ")应该是word.split(" ")
  • 你也不需要传递任何东西给longestWord函数。
  • 以上cmets总结:jsfiddle.net/fcsey7s1
  • 如果有多个最长的单词怎么办? jsfiddle.net/j08691/u589dgey

标签: javascript string function split prompt


【解决方案1】:

这是您的函数的工作版本,结合了原始问题上的所有 cmets。

function longestWord() {
    var word = prompt("Enter a string of at least 5 words separated by spaces:") ;
    var str = word.split(" ");
    var longest = 0;
    str.forEach(function(str) {
        if (longest < str.length) {
            longest = str.length;
            word = str;
        }
    });
    return word;
}

document.write("The longest word is " + longestWord() + ".");

【讨论】:

    【解决方案2】:

    您正在以字符串为参数调用longestWord,这是未定义的。

    <script>
    function longestWord() {
        string = prompt("Enter a string of at least 5 words separated by spaces:") ;
        var str = string.split(" ");
        var longest = 0;
        str.forEach(function(str) {
            if (longest < str.length) {
                longest = str.length;
                word = str;
            }
        });
        document.write("The longest word is " +word+ ".") ;
    }
    longestWord();
    </script>
    

    【讨论】:

      【解决方案3】:

      我会做不同的事:分开

      function longestWord(string) {
        var str = string.split(" ");
        var word = str[0];
        for (s of string.split(" ")) {
          if (s.length > word.length) {
            word = s;
          }
        }
      
        return word;
      }
      var words = prompt("Enter a string of at least 5 words separated by spaces:");
      lw = longestWord(words);
      document.getElementById("longest_word").innerHTML = "The longest word is " + lw + ".";
      <div id='longest_word'>
        longest word:
      </div>

      活动的功能:

      【讨论】:

        猜你喜欢
        • 2021-12-29
        • 1970-01-01
        • 2019-09-29
        • 2017-08-05
        • 1970-01-01
        • 2012-05-16
        • 2016-06-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多