Работа с числами JavaScript

Существует H1, в который выводится числа от 1 до 10. Например: 9+10+10+9+9+10+1+5.

И существует кнопка по удалению цифр. Нажимаешь на кнопку - удаляется в нашем случае "+5", то есть два элемента - цифра и плюс. Сделал я это так: outputGPA.innerHTML.slice(0, -2);

Но, если удалять число 10, то плюсик остается, так как удаляется два последних символа, а в десятке их и так два. Как сделать проверку на то, что стоит десятка и в таком случае удалять 3 элемента, а не 2? Буду благодарен


Ответы (2 шт):

Автор решения: Oliver Patterson

Разделите строку по плюсам с помощью split, уберите последний элемент и обратно соберите.

const h1 = document.querySelector('h1');
const button = document.querySelector('button');

button.addEventListener('click', () =>
{
  let text = h1.textContent;
  text = text.split('+');
  text.pop();
  h1.textContent = text.join('+');
});
<h1>9+10+10+9+9+10+1+5</h1>
<button>Button</button>

→ Ссылка
Автор решения: Андрей NOP

Найти последнее слагаемое с помощью регулярки и заменить на пустую строку:

function removeLastSummand(s) {
  return s.replace(/\+\d+$/, '');
}

console.log(removeLastSummand('9+10+10+9+9+10+1+5'));
console.log(removeLastSummand('9+10+10+9+9+10'));
console.log(removeLastSummand('9+10+10+9+9+3333'));

→ Ссылка