2016-08-08 40 views
-1

任何人都可以解釋maxLength如何在這段代碼中工作。它如何被用來查找字符串中最長的單詞?maxLength如何找到字符串中最長的單詞?

function findLongestWord(str) { 
    var words = str.split(' '); 
    var maxLength = 0; 

    for (var i = 0; i < words.length; i++) { 
    if (words[i].length > maxLength) { 
     maxLength = words[i].length; 
    } 
    } 

    return maxLength; 
} 

findLongestWord("housework is easy when you're happy"); 
+1

這非常簡單。它也沒有做你說它正在做的事情 - 它只會告訴你字符串中最長的單詞有多長。 – Will

+1

你不明白什麼?只要嘗試一行一行地解釋代碼,使用瀏覽器中的內置控制檯(按'F12'),或者搜索特定方法或操作員的文檔。這個問題到目前爲止還沒有研究。 – Xufox

+1

它循環遍歷所有單詞,如果當前的'word.length'大於'maxLength',則用當前單詞的長度更新'maxLength'。 – brso05

回答

-1

function findLongestWord(str) { 
 
    var words = str.split(' '); 
 
    var maxLength = 0; 
 

 
    for (var i = 0; i < words.length; i++) { 
 
    if (words[i].length > maxLength) { 
 
     maxLength = words[i].length; 
 
    } 
 
    } 
 

 
    return maxLength; 
 
} 
 

 
findLongestWord("housework is easy when you're happy");

這部分帶是通過函數跑字符串,在這種情況下,「家務是很容易當你快樂」並將其拆分爲單個單詞。

var words = str.split(' '); 

一旦字被拆分此開始於第一個字,並發現它的長度,因爲這將總是比初始0一套方案上述高級將假定這是最長字,在這種情況下它只跟蹤最長的長度,不一定是單詞(這將返回9而不是家務)。

然後它比較每個單詞之後到這個新的數字,如果它發現它高於它將替換變量maxLength並將其設置爲新的最高數字,否則它會忽略它並轉到下一個單詞。

for (var i = 0; i < words.length; i++) { 
    if (words[i].length > maxLength) { 
     maxLength = words[i].length; 
    } 
    } 
相關問題