文字列内の文字のn番目の出現を見つけるためにJavaScriptコードに取り組んでいます。このindexOf()
関数を使用して、文字の最初の出現を取得できます。ここでの課題は、キャラクターのn番目の出現を取得することです。以下のコードを使用して、2番目と3番目のオカレンスを取得することができました。
function myFunction() {
var str = "abcdefabcddesadfasddsfsd.";
var n = str.indexOf("d");
document.write("First occurence " +n );
var n1 = str.indexOf("d",parseInt(n+1));
document.write("Second occurence " +n1 );
var n2 = str.indexOf("d",parseInt(n1+1));
document.write("Third occurence " +n2 );
var n3 = str.indexOf("d",parseInt(n2+1));
document.write("Fourth occurence " +n3);
// and so on ...
}
結果を以下に示します。
First occurence 3
Second occurence 9
Third occurence 10
Fourth occurence 14
Fifth occurence 18
Sixth occurence 19
上記のコードではスクリプトをn回繰り返す必要があるため、スクリプトを一般化して、文字のn番目の出現箇所を見つけられるようにします。同じことをするためのより良い方法または代替案があるかどうか私に知らせてください。その文字のインデックスを取得するために(実行時に)オカレンスを与えるだけでよいと思います。
以下は私の質問の一部です。
- JavaScriptでそれをどのように行うのですか?
- 同じ実装をより簡単な方法で実行する機能を提供するフレームワークはありますか、それとも他のフレームワーク/言語で同じ実装を行うための代替方法は何ですか?