Argument of type 'string' is not assignable to parameter of type 'number'

На check io решаю задачу по нахождению количества чисел в строке. Но check io ругается на if (!isNaN(elem[j])) . Если тестить этот код в браузере то никаких ошибок нет. В чем может быть проблема?

function countDigits(text) {
  var arr = text.split(" ");
  var count = 0;
  var elem = "";
  for (var i = 0; i < arr.length; i++) {
    if (isNaN(arr[i])) {
      continue;
    }

    elem = arr[i].split('');

    for (j = 0; j < elem.length; j++) {
      if (!isNaN(elem[j])) {
        count++;
      }
    }
  }
  console.log(count);
  return count;
}

console.log('Example:');
console.log(countDigits('hi 1 р2'));


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

Автор решения: renich

Если способ решения в задаче не оговаривается, то посчитать можно с помощью регулярного выражения. Но цифр всего 10, а чисел бесконечное кол-во. То что ниже, считает кол-во чисел - как в задаче, а не цифр.

Общее кол-во:

let str = "hi 123 р2 12p32 12";
let split = str.match(/\d+/g);
let count = split ? split.length : 0;
console.log(count);

Кол-во уникальных:

let str = "hi 123 р2 12p32 12";
let split = str.match(/\d+/g);
let count = split ? split.filter((x, i, arr) => arr.indexOf(x) === i).length : 0;
console.log(count);

Обновил. Логичное замечание @grundy

→ Ссылка