JavaScript: 文字列を検索するときの indexOf と Match のどちらが良いですか? [closed] 質問する

JavaScript: 文字列を検索するときの indexOf と Match のどちらが良いですか? [closed] 質問する

使用方法によってパフォーマンスに違いはありますか?

str.indexOf("src") 

そして

str.match(/src/)

私は個人的にはmatch(and regexp) を好みますが、同僚は逆のことを言っているようです。それが問題になるかどうか疑問に思っていました...?

編集:

最初に言っておくべきだったのは、これはワイルドカードなどを使用した完全な正規表現検索ではなく、部分的なプレーン文字列マッチング (JQuery のクラス属性内の識別子を取得するため) を実行する関数用だということです。

class='redBorder DisablesGuiClass-2345-2d73-83hf-8293' 

つまり、次の違いがあります:

string.indexOf('DisablesGuiClass-');

そして

string.match(/DisablesGuiClass-/)

ベストアンサー1

RegExpは確かにindexOfよりも遅いです(ここ) ですが、通常は問題にはなりません。RegExp を使用する場合は、文字列が適切にエスケープされていることを確認する必要があり、これも考慮すべき追加の事項です。

これら 2 つの問題はさておき、2 つのツールが必要な機能を正確に実行できる場合は、よりシンプルなツールを選択しないのはなぜでしょうか。

おすすめ記事