ホームページ >ウェブフロントエンド >jsチュートリアル >数万のキーワードに対応する JavaScript 即時一致コード_JavaScript スキル
キーワード検索に関して最初に思い浮かぶのは、indexOf や replace などの文字関数を使用するか、せいぜい正規表現を追加することくらいです。実装は非常に簡単ですが、よく考えたことがありますか。その背景には効率の問題があるのでしょうか?たとえば、フォーラムでのキーワード フィルタリングでは、通常、フィルタリングされるキーワードの数や検出されるテキストの長さは多くないため、この瞬間のプロセスではあまり注目する価値はありません。しかし、キーワードの数が数個ではなく数千個になり、検出されるテキストも長い場合、結果はそれほど楽観的ではなくなります。キーワードを追加するたびに全文検索が追加され、最終的にかかる時間が許容範囲をはるかに超えることは誰もが知っています。
そのような極端なキーワード検索を考慮しているため、通常の 1 つずつの横断検索は明らかに実行不可能です。現在では JavaScript が使用されていますが、この言語でハッシュ テーブルを使用しないのはもったいないことです。時計の独自のサポートにより、大きな時間を得る代わりに、小さなスペースを取り出すこともできます。
まず例を見てみましょう。たとえば、foo1、foo2、bar1、bar2 というキーワードがあります。スペースは時間と交換されるため、検索する前に前処理する必要があります。前述したように、JS の柔軟で効率的なテーブルは、明らかにツリー構造を使用するのに最も有利です。たとえ理解できなくても、最終的な実装構造は次のコードのようになります。これも JSON に慣れていると非常に馴染みます: