Добрый день. Есть рабочий код, но принцип работы не очень ясна.
const plusOne = (digits) => {
let count = digits.length - 1;
for(let i = count; i >= 0; i--) {
digits[i]++;
if( digits[i] > 9 ){
digits[i] = 0;
} else{
return digits;
}
}
digits.splice(0,0,1)
return digits
};
console.log(plusOne([9])) // 1, 0
console.log(plusOne([3, 5])) // 3, 6
При вводе числа "9", функция возвращает "1, 0".
Но при вводе допустим чисел "3,5" функция возвращает "3.6". Нет, это не ошибка, так надо, но вопрос в том, почему splice не вставляет единицу? По моей логике функция должна возвратить "1, 3, 6".
Так же вызывает вопрос запись. Когда я пытаюсь сократить запись, функция работает по разному.
Так код работает:
digits.splice(0,0,1)
return digits
Так не работает:
return digits.splice(0,0,1)