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