Heim >Web-Frontend >js-Tutorial >So erstellen Sie eine LongestWord-Funktion in JavaScript mit technischer Erklärung
Okay, dieses Mal möchte ich etwas über eine einfache, aber recht interessante Funktion erzählen, die mir beim Erlernen von JavaScript aufgefallen ist und die ich bei Codewars gefunden habe. Der Funktionsname ist longestWord. Wie der Name schon sagt, sucht diese Funktion nach dem längsten Wort einer Zeichenfolge und gibt es zurück.
Ich werde erklären, warum diese Funktion funktioniert, welche Methoden verwendet werden und warum. Komm schon, kommen wir gleich zur ausführlichen Erklärung!
Diese Funktion hat eine einfache Aufgabe: Sie akzeptiert Eingaben in Form einer Zeichenfolge mit mehreren Wörtern (durch Leerzeichen getrennt) und gibt dann das längste Wort zurück. Wenn sich herausstellt, dass es mehr als ein Wort mit der gleichen Länge gibt, verwendet diese Funktion das zuletzt gefundene Wort.
Ein Beispiel sieht so aus:
longestWord("Aku sedang belajar JavaScript yang menyenangkan"); // Output: "menyenangkan"
longestWord("red blue gold"); // Output: "gold"
Hier ist der Code, er ist wirklich kurz, aber das Coole ist, dass hinter den Kulissen viel los ist:
function longestWord(stringOfWords) { return stringOfWords .split(' ') // Pecah string jadi array kata-kata .sort((a, b) => a.length - b.length) // Urutkan berdasarkan panjang .slice(-1) // Ambil elemen terakhir (kata terpanjang) .toString(); // Ubah jadi string lagi }
Zuerst wird die eingegebene Zeichenfolge mit der Methode split('') in ein Array von Wörtern aufgeteilt. Die Leerzeichen in der Zeichenfolge sind also wie Trennzeichen zwischen Wörtern.
Zum Beispiel:
"Aku sedang belajar".split(' '); // Output: ["Aku", "sedang", "belajar"]
Dies ist wichtig, da wir Strings wie Arrays nicht direkt manipulieren können. Mit der Aufteilung wird jedes Wort zu einem Array-Element, das sehr einfach zu verwalten ist.
Nachdem es ein Array ist, sortieren wir die Wörter mit der Sortiermethode vom kürzesten zum längsten.
In gewisser Weise gebe ich einen Rückruf (a, b) => a.Länge - b.Länge. Im Wesentlichen bitte ich JavaScript, die Array-Elemente nach Länge zu sortieren.
Das Ergebnis?
["Aku", "sedang", "belajar"].sort((a, b) => a.length - b.length); // Output: ["Aku", "sedang", "belajar"]
Da das Array sortiert ist, muss das längste Wort am Ende des Arrays stehen. Die Funktion „slice(-1)“ besteht also darin, das letzte Element zu übernehmen.
Ein Beispiel sieht so aus:
["Aku", "sedang", "belajar"].slice(-1); // Output: ["belajar"]
Das Ergebnis von Slice(-1) liegt tatsächlich immer noch in Form eines Arrays vor, obwohl es nur ein Element enthält. Damit es mit der angeforderten Ausgabe übereinstimmt, konvertieren wir es erneut mit toString().
in einen StringEndergebnis:
longestWord("Aku sedang belajar JavaScript yang menyenangkan"); // Output: "menyenangkan"
Für mich ist die longestWord-Funktion eine gute Übung, um sich an einige wichtige Methoden in JavaScript zu erinnern, insbesondere für die Arbeit mit Strings und Arrays. Durch diese Funktion verstehe ich auch mehr darüber, wie Split, Sort, Slice und toString funktionieren.
Wenn Sie weitere Ideen zur Lösung dieses Problems haben oder vielleicht eine weitere Optimierung wünschen, lassen Sie uns dies gemeinsam in der Kommentarspalte diskutieren! ?
Das obige ist der detaillierte Inhalt vonSo erstellen Sie eine LongestWord-Funktion in JavaScript mit technischer Erklärung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!