Вы можете принять условие выхода, например, если вы получите пустую строку, верните пустую строку.
Затем вам нужно проверить, является ли первый символ цифрой, а затем вернуть рекурсию со слайсом.от второго символа.
Без проверки верните первый символ и вызов возврата для оставшейся части строки.
function rec(string) {
if (string === '') return '';
if (string[0] >= '0' && string[0] <= '9') return rec(string.slice(1));
return string[0] + rec(string.slice(1));
}
console.log(rec("test3yyy33333"))
console.log(rec("e79898080xampl222e"))
Компактная версия получения первой и последней цифры строки и возврата либо этого значения, если оно нечетное, либо ноль.Затем проверьте внутренние цифры и продолжайте до тех пор, пока не останется ни одна, ни одна, или две цифры.
Для строк длиной более двух цифр снова вызовите функцию с разделенными частями.
function oddPairFirstLast(value) {
value = value.toString();
if (value.length === 0) return 0;
if (value.length === 1) return +(value + 1);
if (value.length === 2) return value % 2 && +value;
return oddPairFirstLast(value.slice(0, 1) + value.slice(-1)) + oddPairFirstLast(value.slice(1, -1));
}
console.log(oddPairFirstLast(2345)); // 25
console.log(oddPairFirstLast(2335)); // 58
console.log(oddPairFirstLast(23351)); // 87
console.log(oddPairFirstLast(42548)); // 51