Znajdowanie n-tego wystąpienia znaku w ciągu znaków w javascript
Pracuję nad kodem javascript, aby znaleźć n-te wystąpienie znaku w ciągu. UżywającindexOf()
funkcja jesteśmy w stanie uzyskać pierwsze wystąpienie znaku. Teraz wyzwaniem jest zdobycie n-tego wystąpienia postaci. Udało mi się uzyskać drugie trzecie wystąpienie i tak dalej, używając kodu podanego poniżej:
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 ...
}
Wynik podano poniżej
First occurence 3
Second occurence 9
Third occurence 10
Fourth occurence 14
Fifth occurence 18
Sixth occurence 19
Chciałbym uogólnić skrypt, dzięki czemu znajdę n-te wystąpienie znaku, ponieważ powyższy kod wymaga od nas powtórzenia skryptu n razy. Daj mi znać, jeśli istnieje lepsza metoda lub alternatywa, aby zrobić to samo. Byłoby miło, gdybyśmy po prostu podali zdarzenie (w czasie wykonywania), aby uzyskać indeks tej postaci.
Oto niektóre z moich pytań:
Jak to zrobić w JavaScript?Czy jakakolwiek struktura zapewnia jakąkolwiek funkcjonalność, aby wykonać tę samą implementację w łatwiejszy sposób lub jakie są alternatywne metody implementacji tego samego w innych ramach / językach?