[removed] find longest word in a string

前端 未结 30 2735
余生分开走
余生分开走 2020-11-27 03:50
function longestWord(string) {
    var str = string.split(\" \");
    var longest = 0;
    var word = null;
    for (var i = 0; i < str.length - 1; i++) {
                


        
30条回答
  •  天涯浪人
    2020-11-27 04:18

    I will refer you to this awesome article which defines three ways:

    1 - Find the Longest Word With a FOR Loop

        function findLongestWord(str) {
      var strSplit = str.split(' ');
      var longestWord = 0;
      for(var i = 0; i < strSplit.length; i++){
        if(strSplit[i].length > longestWord){
        longestWord = strSplit[i].length;
         }
      }
      return longestWord;
    }
    findLongestWord("The quick brown fox jumped over the lazy dog");
    

    2 - Find the Longest Word With the sort() Method

    function findLongestWord(str) {
      var longestWord = str.split(' ').sort(function(a, b) { return b.length - a.length; });
      return longestWord[0].length;
    }
    findLongestWord("The quick brown fox jumped over the lazy dog");
    

    3 - Find the Longest Word With the reduce() Method

    function findLongestWord(str) {
      var longestWord = str.split(' ').reduce(function(longest, currentWord) {
        return currentWord.length > longest.length ? currentWord : longest;
      }, "");
      return longestWord.length;
    }
    findLongestWord("The quick brown fox jumped over the lazy dog");
    

    Of course, it returns the length of the biggest word if you want to get the string, just get rid of the length in return part.

提交回复
热议问题