JavaScript で LongestWord 関数を作成する方法と技術的な説明
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"
これらの方法を使用する理由
- split(' '): 文字列は不変 (直接変更できない) なので、処理しやすいように最初に配列に分割します。
- sort(): 最大または最長の要素を見つける最も速い方法は、最初にデータを並べ替えることです。
- slice(-1): これは、配列の最後の要素をすぐに取得する簡単なトリックです。
- toString(): 最終出力は文字列である必要があるため、これが最後のステップです。
私にとって、longestWord 関数は、JavaScript のいくつかの重要なメソッド、特に文字列や配列を扱うためのメソッドを覚えるための良い練習のようなものです。この関数から、split、sort、slice、toString がどのように機能するかについてもさらに理解できました。
この問題を解決するための他のアイデアがある場合、またはさらに最適化したい場合は、コメント欄で一緒に議論しましょう。 ?
以上がJavaScript で LongestWord 関数を作成する方法と技術的な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

この記事では、ブラウザでJavaScriptのパフォーマンスを最適化するための戦略について説明し、実行時間の短縮、ページの負荷速度への影響を最小限に抑えることに焦点を当てています。

フロントエンドのサーマルペーパーチケット印刷のためのよくある質問とソリューションフロントエンド開発におけるチケット印刷は、一般的な要件です。しかし、多くの開発者が実装しています...

この記事では、ブラウザ開発者ツールを使用した効果的なJavaScriptデバッグについて説明し、ブレークポイントの設定、コンソールの使用、パフォーマンスの分析に焦点を当てています。

スキルや業界のニーズに応じて、PythonおよびJavaScript開発者には絶対的な給与はありません。 1. Pythonは、データサイエンスと機械学習でさらに支払われる場合があります。 2。JavaScriptは、フロントエンドとフルスタックの開発に大きな需要があり、その給与もかなりです。 3。影響要因には、経験、地理的位置、会社の規模、特定のスキルが含まれます。

この記事では、ソースマップを使用して、元のコードにマッピングすることにより、Minified JavaScriptをデバッグする方法について説明します。ソースマップの有効化、ブレークポイントの設定、Chrome DevtoolsやWebpackなどのツールの使用について説明します。

同じIDを持つ配列要素をJavaScriptの1つのオブジェクトにマージする方法は?データを処理するとき、私たちはしばしば同じIDを持つ必要性に遭遇します...

Console.log出力の違いの根本原因に関する詳細な議論。この記事では、Console.log関数の出力結果の違いをコードの一部で分析し、その背後にある理由を説明します。 �...
