Цель этого кода - написать функцию, которая увеличивает строку, чтобы создать новую строку. Если строка уже заканчивается номером, номер должен быть увеличен на 1. Если строка не заканчивается номером, номер 1 должен быть добавлен к новой строке. например «foo123» -> «foo124» или «foo» -> «foo1». С моим кодом ниже, почти все мои тестовые примеры пройдены, за исключением того, что угловой футляр для «foo999» не распечатывал «foo1000». Я знаю, что для исправления моей проблемы должен быть способ сделать регулярное выражение, но я не слишком хорошо знаком с ним. Кто-нибудь может помочь?Приращение строки: приращение последней строки одним
function incrementString (input) {
var reg = /[0-9]/;
var result = "";
if(reg.test(input[input.length - 1]) === true){
input = input.split("");
for(var i = 0; i < input.length; i++){
if(parseInt(input[i]) === NaN){
result += input[i];
}
else if(i === input.length - 1){
result += (parseInt(input[i]) + 1).toString();
}
else{
result += input[i];
}
}
return result;
}
else if (reg.test(input[input.length - 1]) === false){
return input += 1;
}
}
ваша функция слишком сложна, вы должны использовать 'replace' метод с лямбда в качестве замены , –