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?

questionAnswers(5)

yourAnswerToTheQuestion