Saya memulai petualangan saya dengan javascript dan saya mendapatkan salah satu tugas pertama. Saya harus membuat fungsi yang menghitung huruf yang paling banyak muncul dalam string dan menulis ini di konsol. Misalnya: var string = "assssssadaaaaAAAasadaaab";

Dan di console.log harus (7,a) <--- string terpanjang adalah 7 karakter identik berturut-turut (ya, sebelum menghitung saya menggunakan .toLowerCase();, karena tugas memerlukannya)

Sejauh ini saya memilikinya dan saya tidak tahu apa yang harus saya lakukan selanjutnya. Seseorang ingin membantu?

var string = "assssssadaaaAAAasadaaab";
var string = string.toLowerCase();
function writeInConsole(){
  console.log(string);
  var count = (string.match(/a/g) || []).length;
  console.log(count);
}

writeInConsole();
1
Karol Pośpiech 9 Januari 2021, 15:10

2 jawaban

Jawaban Terbaik

Saya tidak yakin apakah ini berhasil untuk Anda:

string source = "/once/upon/a/time/";
int count = 0;
foreach (char c in source) 
  if (c == '/') count++;
1
Luca Angioloni 9 Januari 2021, 12:36

Jawaban yang diberikan dengan menggunakan ekspresi reguler lebih ringkas, tetapi karena Anda mengatakan Anda baru memulai pemrograman, saya akan menawarkan jawaban verbose yang mungkin lebih mudah diikuti.

var string = "assssssadaaaAAAasadaaab";
var string = string.toLowerCase();

function computeLongestRun(s) {
    // we set up for the computation at the first character in the string
    var longestRunLetter = currentLetter = string[0]
    var longestRunLength = currentRunLength = 1

    // loop through the string considering one character at a time
    for (i = 1; i < s.length; i++) {
        if (s[i] == currentLetter) { // is this letter the same as the last one?
            currentRunLength++            // if yes, reflect that
        } else {                          // otherwise, check if the current run
                                          // is the longest
            if (currentRunLength > longestRunLength) {
                longestRunLetter = currentLetter
                longestRunLength = currentRunLength
            }
            // reset to start counting a new run
            currentRunLength = 1
            currentLetter = s[i]
        }
    }
    return [longestRunLetter, longestRunLength]
}

console.log(computeLongestRun(string))
1
Thomas Stenhaug 9 Januari 2021, 12:51