0

すべての要素を反復せずにjqueryを使用して配列内の部分文字列を見つける方法はありますか?

私は配列を持っています

arr = ["tree","bird"];

すべての要素を反復せずに、「ird」部分文字列を持つ要素をポップできますか?

4

3 に答える 3

1

部分文字列が表示されるかどうかだけを知りたい場合は、次のようにすることができます。

var arr = ["tree", "bird"];
arr.join("|").match(/tree/); //The "|" is to make sure that the substring is not formed by 2 different words

ところで、これは純粋な Javascript であり、そのために JQuery は必要ありません。

ただし、配列から要素を「ポップ」することはできません。そのためには、そのインデックスを取得する必要があり、そのためには配列を反復処理する必要があります。

于 2013-05-16T20:21:14.947 に答える
0

問題が1930 からのデータを含む大きな配列としてのパフォーマンス である場合、オートコンプリートのようなことをしていない限り (ユーザーが文字を入力するたびに再検索が必要になります)、最大の問題はデータ転送ではなくクライアント側の処理。

いずれにせよ、大量のデータの場合は client に送信しないでください。計算を行い、結果を取得して返送するサービスを実装します。

サーバー側 (または、クライアント側での実装に非常に執着している場合) で、配列の反復処理中 (またはデータベースの選択中) にパフォーマンスが低下する場合、最善の策はTrie のようなデータ構造です (それはオートコンプリートなどのシナリオで部分文字列検索を実装する最も一般的な方法)。

于 2013-05-16T20:54:58.873 に答える
0

基本的に、いいえ。

しかし、リスト全体を反復処理することに懸念がある場合は、一致が見つかったらすぐに終了する for ループを使用できます。

于 2013-05-16T20:23:40.567 に答える