Как удалить лишние плюсы, чтобы был только один?

Рейтинг: -4Ответов: 2Опубликовано: 15.01.2023
<div class="subtotal">
    <script>$(".subtotal").text (Math.round( 50+50++50+70+50+50+++50 ) );</script>
</div>

Как удалить лишние плюсы, чтобы был только один?

Ответы

▲ 1Принят

Как удалить лишние плюсы, чтобы был только один?

Можно вот так.

let s = '50+50++50+70+50+50+++50'
s = s.split(/\++/).reduce((s, v) => +v + s, 0)
document.querySelector('.subtotal').textContent = s
<div class="subtotal"></div>

▲ 2

Удалить лишние плюсы можно вот-так:

const s = '50+50++50+70+50+50+++50';


function delPlus(s) {
  const items = s.split('+');
  tmp = "";
  for (let item of items) {
    if (item) {
      tmp += item;
      tmp += "+";
    }
  }
  return tmp.slice(0, -1);
}


console.log(delPlus(s));

Если нужна сумма тогда еще проще:

const s = '50+50++50+70+50+50+++50';


function sum(s) {
  const items = s.split('+');
  tmp = 0;
  for (let item of items) {
    if (item) {
      tmp += parseInt(item);
    }
  }
  return tmp;
}


console.log(sum(s));