2016-08-08 9 views
-1

Kann jemand erklären, wie MaxLength in diesem Codeabschnitt funktioniert. Wie wird es verwendet, um das längste Wort in der Zeichenfolge zu finden?Wie kann MaxLength das längste Wort in der Zeichenfolge finden?

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

Das ist so einfach wie es geht. Es tut auch nicht, was Sie sagen, es tut - es sagt Ihnen nur, wie lange das längste Wort in der Zeichenfolge ist. – Will

+1

Was genau verstehst du nicht? Versuchen Sie einfach, den Code Zeile für Zeile zu interpretieren, indem Sie die integrierte Konsole in Ihrem Browser verwenden (drücken Sie 'F12'), falls erforderlich, oder suchen Sie nach der Dokumentation zu bestimmten Methoden oder Operatoren. Diese Frage hat bisher keinen Forschungsaufwand. – Xufox

+1

Es durchläuft alle Wörter und wenn die aktuelle 'word.length' größer als 'maxLength' ist, aktualisiert es' maxLength' mit der aktuellen Wortlänge. – brso05

Antwort

-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");

Dieser Teil nimmt die Zeichenfolge, die durch die Funktion, in diesem Fall lief ist „Hausarbeit einfach ist, wenn du glücklich bist“ und teilt sie in einzelne Wörter.

var words = str.split(' '); 

Sobald die Wörter aufgespalten dies beim ersten Wort beginnt und findet die Länge davon, da diese immer höher sein wird als die anfängliche 0 Satz über dem Programm wird davon ausgehen, das das längste Wort ist, in diesem Fall es verfolgt nur die längste Länge und nicht unbedingt das Wort (das wird 9 zurückgeben und nicht Hausarbeit).

Dann vergleicht es jedes Wort nach dieser neuen Zahl, wenn es entdeckt, dass es höher ist, dann ersetzt es die Variable maxLength und setzt sie als die neue höchste Zahl, sonst ignoriert es es und geht zum nächsten Wort.

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