私は[a] [z]という形式の短い文字列の集合を持っています。ここで、aとzは(部分)部分文字列です。 [z]に入れることができる文字列は約100に制限されており、そのうちの1つだけが入力文字列全体に表示されます。一連の文字列replace()をどのように中断しますか?
ここで、[z]文字列を別の文字列に置き換える必要があります。データ形式を考えると、私が試合を見つけるとすぐに、私は見ることを止めることができます。私は置換された文字列を返したい。
私のアプローチは、変更された文字列を返す前にすべての可能性をループしているため、最適ではありません。私は、一致があるときに入力文字列が変更されるという事実を利用して、検索を中断する方法があるかどうかを知りたいと思いますか?交換が行われたことをどのように伝えることができますか?私は1ページあたり約1000回この機能を実行する必要があるので、どんな改善も気づくはずです。前もって感謝します!
function replaceEnd(input) {
// bb, cc, and d are what I call [z]
input = input.replace("bb", "Bob");
input = input.replace("ccc", "Carl");
input = input.replace("d", "Dave");
return input;
}
document.write(replaceEnd("aabb") + "<br>");
document.write(replaceEnd("eaccc") + "<br>");
document.write(replaceEnd("uoid") + "<br>");
出力:
aaBob
eaCarl
uoiDave
おかげで、迅速かつ汚いプロファイリングは、ほぼ同じ性能を示したが、私は、オブジェクトのアプローチがきれいだと思います。 –