Olá pessoal,
Venho compartilhar com vocês algo que quebrou um pouco a cabeça, mas no final ficou legal, implementação abaixo de uma função para recalcular a quantidade e valor do produto caso ele já esteja na lista do carrinho, segue exemplo da implementação e código abaixo
function adicionarCarrinho(qtd,nome,val) {
    //V1.3 Adicionado recalculo de quantidade e valor do produto caso ele ja esteja na lista do carrinho
    if (listaCarrinho.some(item => item.includes(nome))) {
        let posicaoArray = listaCarrinho.findIndex(item => item.includes(nome));
        let posicaoNomeQuantidade = listaCarrinho[posicaoArray].indexOf(`x</span> ${nome}`);
        let quantidadeProdutoAnterior = parseInt(listaCarrinho[posicaoArray].slice(posicaoNomeQuantidade-3,posicaoNomeQuantidade).match(/\d+/)[0]);
        let posicaoNomeValor = listaCarrinho[posicaoArray].indexOf('R$');
        let valorProdutoAnterior = parseInt(listaCarrinho[posicaoArray].slice(posicaoNomeValor,posicaoNomeValor+6).match(/\d+/)[0]);
        listaCarrinho[posicaoArray] = `<section class="carrinho__produtos__produto"><span class="texto-azul">${quantidadeProdutoAnterior+qtd}x</span> ${nome} <span class="texto-azul">R$${valorProdutoAnterior+val}</span></section>` 
        document.getElementById('quantidade').value = '';
        document.getElementById('produto').value = '';
        let listaCarrinhoFinal = document.getElementById('lista-produtos');
        listaCarrinhoFinal.innerHTML = listaCarrinho.join('');
        return listaCarrinhoFinal;
    } else {
        listaCarrinho.push(`<section class="carrinho__produtos__produto"><span class="texto-azul">${qtd}x</span> ${nome} <span class="texto-azul">R$${val}</span></section>`);
        document.getElementById('quantidade').value = '';
        document.getElementById('produto').value = '';
        let listaCarrinhoFinal = document.getElementById('lista-produtos');
        listaCarrinhoFinal.innerHTML = listaCarrinho.join('');
        return listaCarrinhoFinal;
    }
}