ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript で LongestWord 関数を作成する方法と技術的な説明

JavaScript で LongestWord 関数を作成する方法と技術的な説明

Mary-Kate Olsen
リリース: 2024-12-18 14:21:11
オリジナル
195 人が閲覧しました

Cara Membuat Fungsi longestWord di JavaScript dengan Penjelasan Teknis

longestWord を使用して JavaScript で最長の単語を検索する

さて、今回は私が JavaScript を学習中に見つけた、シンプルだが非常に興味深い関数について共有したいと思います。これは codewars で見つけました。関数名はlongestWordです。名前が示すように、この関数は文字列から最長の単語を検索して返します。

なぜこの機能が機能するのか、どのような方法が使われているのか、その理由を説明します。さあ、早速詳しい説明に入りましょう!


longestWord 関数の目的

この関数のタスクは単純です。複数の単語 (スペースで区切られた) を含む文字列の形式で入力を受け取り、最も長い単語を返します。同じ長さの単語が複数あることが判明した場合、この関数は最後に見つかった単語を取得します。

例は次のとおりです:

longestWord("Aku sedang belajar JavaScript yang menyenangkan");
// Output: "menyenangkan"
ログイン後にコピー
ログイン後にコピー
longestWord("red blue gold");
// Output: "gold"
ログイン後にコピー

ファンクションコード

これがコードです。非常に短いですが、素晴らしいのは、舞台裏で多くの処理が行われていることです。

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
}
ログイン後にコピー

技術解説

1.文字列を単語の配列に分割する: .split(' ')

まず、入力された文字列を、split(' ') メソッドで単語の配列に分割します。したがって、文字列内のスペースは単語間の区切り文字のようなものです。

例:

"Aku sedang belajar".split(' ');
// Output: ["Aku", "sedang", "belajar"]
ログイン後にコピー

配列のような文字列を直接操作できないため、これは重要です。分割すると、各単語が配列要素になり、管理が非常に簡単になります。


2.単語を長さで並べ替える: .sort((a, b) => a.length - b.length)

配列になった後、sort メソッドを使用して単語を最短から最長まで並べ替えます。

ソートとして、コールバック (a, b) => を与えます。 a.長さ - b.長さ。基本的に、JavaScript に配列要素を長さで並べ替えるように要求しています。

結果は?

["Aku", "sedang", "belajar"].sort((a, b) => a.length - b.length);
// Output: ["Aku", "sedang", "belajar"]
ログイン後にコピー

3.最も長い単語を取得します: .slice(-1)

配列はソートされているため、最も長い単語が配列の最後にある必要があります。したがって、slice(-1) 関数は最後の要素を取得することになります。

例は次のとおりです:

["Aku", "sedang", "belajar"].slice(-1);
// Output: ["belajar"]
ログイン後にコピー

4.再度文字列に変更します: .toString()

slice(-1) の結果は、要素が 1 つしか含まれていないにもかかわらず、実際には配列の形式のままです。要求された出力と一致するように、toString() を使用して文字列に再度変換します。

最終結果:

longestWord("Aku sedang belajar JavaScript yang menyenangkan");
// Output: "menyenangkan"
ログイン後にコピー
ログイン後にコピー

これらの方法を使用する理由

  1. split(' '): 文字列は不変 (直接変更できない) なので、処理しやすいように最初に配列に分割します。
  2. sort(): 最大または最長の要素を見つける最も速い方法は、最初にデータを並べ替えることです。
  3. slice(-1): これは、配列の最後の要素をすぐに取得する簡単なトリックです。
  4. toString(): 最終出力は文字列である必要があるため、これが最後のステップです。

私にとって、longestWord 関数は、JavaScript のいくつかの重要なメソッド、特に文字列や配列を扱うためのメソッドを覚えるための良い練習のようなものです。この関数から、split、sort、slice、toString がどのように機能するかについてもさらに理解できました。

この問題を解決するための他のアイデアがある場合、またはさらに最適化したい場合は、コメント欄で一緒に議論しましょう。 ?

以上がJavaScript で LongestWord 関数を作成する方法と技術的な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート