Heim >Web-Frontend >js-Tutorial >So erstellen Sie eine LongestWord-Funktion in JavaScript mit technischer Erklärung

So erstellen Sie eine LongestWord-Funktion in JavaScript mit technischer Erklärung

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-18 14:21:11186Durchsuche

Cara Membuat Fungsi longestWord di JavaScript dengan Penjelasan Teknis

Finden Sie das längste Wort in JavaScript mit longestWord

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!


Der Zweck der longestWord-Funktion

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"

Funktionscode

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
}

Technische Erklärung

1. Einen String in ein Array von Wörtern aufteilen: .split(' ')

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.


2. Wörter nach Länge sortieren: .sort((a, b) => a.length - b.length)

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"]

3. Nehmen Sie das längste Wort: .slice(-1)

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"]

4. Ändern Sie es erneut in string: .toString()

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 String

Endergebnis:

longestWord("Aku sedang belajar JavaScript yang menyenangkan");
// Output: "menyenangkan"

Warum diese Methoden verwenden?

  1. split(' '): Da Strings unveränderlich sind (nicht direkt geändert werden können), teile ich sie zunächst in ein Array auf, damit sie einfach zu verarbeiten sind.
  2. sort(): Der schnellste Weg, das größte oder längste Element zu finden, besteht darin, die Daten zuerst zu sortieren.
  3. slice(-1): Dies ist ein einfacher Trick, um sofort das letzte Element des Arrays zu erfassen.
  4. toString(): Da die endgültige Ausgabe ein String sein muss, ist dies der letzte Schritt.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn