2014-11-03 87 views
1

因此,我正在研究查找字符串中最長單詞的函數。但是,我無法找到如何console.log實際的單詞,而不是它具有的字符數量的值。這裏是我的功能:當你檢測到當前一個長於你最長的一個,將其保存當查找最長的單詞而不是字符數時返回單詞

var longestWord = function(str) { 
    return str.split(' ').reduce(function(acc, x) { 
    return x.length > acc.length ? x : acc 
    },'') 
} 

longestWord("I dislike taking recent microwaves"); //=> microwaves 
+0

因此,請參考最大的單詞。 – epascarello 2014-11-03 19:59:51

+0

words.sort(function(a,b){return a.length-b.length})。pop() – dandavis 2014-11-03 21:11:58

回答

1

function longestWord(text) { 
var textSplit = text.split(" "); 
for (var i = 0; i < textSplit.length; i++) { 
    var wordLength = textSplit[i].length; 
}; 
console.log(Math.max(wordLength)); 
} 
longestWord("I dislike taking recent microwaves"); 
+0

很多很簡單的方法... – Phil 2014-11-03 20:24:57

+0

是的,但是跟隨@Fyxerz的方法,想要使其可讀。 – 2014-11-03 20:25:47

1

您可以使用減速機。

function longestWord(text) { 
     var longestWordLength = 0; 
     var longestWordString = ''; 

     var textSplit = text.split(" "); 

     for (var i = 0; i < textSplit.length; i++) { 
      var word = textSplit[i]; 
      var wordLength = word.length 
      if (longestWordLength < wordLength) { 
       longestWordLength = wordLength; 
       longestWordString = word; 
      } 
     }; 
     console.log(longestWordString); 
    } 
    longestWord("I dislike taking recent microwaves"); 

這裏是JS Fiddle