всем привет ! у меня есть задача чтобы вступить на курс, я ее почти решила, у меня осталось два условия, доделать. вот задача: есть входная строка, в которой есть цифры, мне нужно вернуть в соответствии с ниже упомянутым.
calculateGuests('I think 5 guests') === 5
calculateGuests('Big company of 15 dudes') === 15
calculateGuests('5') === 5
calculateGuests('alone') === 'not a number'
calculateGuests('0') === 'not a number'
calculateGuests('Hello, 9.75 people') === 9
calculateGuests('There will be 7 or 9 guys') === 7
calculateGuests('hello cat walks on my keyboard ksadjfhskaj12.34kasdfhsjk') === 12
я написала такую функцию:
function calculateGuests(guestsInput) {
let result = '';
// let b = guestsInput.replace(/[^.+\d]/g, ' ');
// let c = Math.trunc(b);
// console.log(c);
for (let i = 0; i < guestsInput.length; i++) {
if (+guestsInput[i] > 0) {
result += guestsInput[i];
}
}
if (+result > 0) {
return +result;
}
return 'not a number';
}
console.log(calculateGuests('fs 4 5'));
проблема вот в чем:
1. возвращает абсолютно все, не первое входное число.
2. проблемы с округлением числа(если в строке 9.15, должно возвращать 9)