Javascript.Дана строка, подсчитать сколько раз встречается a. indexOf

Дана строка, подсчитать сколько раз встречается буква a.

Как я смогу решить эту задачку через метод indexOf ?


Ответы (1 шт):

Автор решения: Николай Парахневич

Если уж очень хочется решить эту задачу, используя indexOf, то можете решить таким способом (В следующем примере indexOf() используется для поиска всех индексов элемента a в строке, которые с помощью push() добавляются в другой массив и length этого массива будет содержать количество вхождений символа в заданную строку)

const myString = 'простая строка'
var indices = [];
var element = 'а';
var idx = myString.indexOf(element);
while (idx != -1) {
  indices.push(idx);
  idx = myString.indexOf(element, idx + 1);
}

console.log(`В строке "${myString}" символ ${element} встречается ${indices.length} раз(а)`);

Второй пример(с учетом мнения teran):

    const myString = 'простая строка'
    var countElements = 0;
    var element = 'а';
    var idx = myString.indexOf(element);
    while (idx != -1) {
      countElements++;
      idx = myString.indexOf(element, idx + 1);
    }

    console.log(`В строке "${myString}" символ ${element} встречается ${countElements} раз(а)`);

→ Ссылка