Q:

Корзина на jquery - добавлять элементы и суммировать получается,делать минус из суммы нет

Приветствую! Самостоятельно решил разработать скрипт корзины на jquery.
Удалось добиться суммирования количества товаров и их общей цен, но не могу понять как сделать вычитание общей суммы при нажатии определенной кнопки - то есть вычесть стоимость последнего добавленного товара из общей суммы.
Ниже код:
$(document).ready(function(){

    //add price and quantity in shoping cart

    $(".item_shop").on("click",".in_cart", function() {
        var price = +$(this).closest(".item_shop").data("price");
        $("#summ").text(function(i, val) {
            return val * 1 + price;
        });
        $("#items").text(function(i, val) {
            return val * 1 + 1;
        });
    });

    //remove items and quantity in shopnig cart 

    $(".right").on("click", function(event) {
        event.preventDefault();  
        var price = +$(this).closest(".item_shop").data("price");
        $("#summ").prev().val($("#summ").text()); // в данной строке все никак не могу придумать, что прописать чтобы уменьшалась сумма последнего добавленного товара. 

        $("#items").text(function(i, val) {
            return val * 1 - 1;  // здесь количество минусует, но также уходит в минус, что конечно не желательно.  
        });
    });

});// end of function

Заранее спасибо.

A:

Сам принцип реализации корзины - не верен. Нужно где-то сохранять все товары, занесенные в корзину(ну если уж не товары, как в этом случае, то хотя-бы цены)

$(document).ready(function(){
  
    window.basket = {
      prices: [], // массив всех цен на все товары
      sumPrice: 0 // общая цена, если вдруг она изначально не 0 - задать ее
    };

    $(".item_shop").on("click",".in_cart", function() {
        
        var price = +$(this).closest(".item_shop").data("price");
        basket.prices.push(price);
        basket.sumPrice += price;
      
        update();
    });

    $(".right").on("click", function(event) {
        event.preventDefault();
      
        var lastPrice = basket.prices.pop();
        if(!lastPrice) return; // защита, чтобы меньше 0 не было:D
        basket.sumPrice -= lastPrice;
      
        update();
    });
  
    function update() {
        $("#summ").text(basket.sumPrice);
        $("#items").text(basket.prices.length);
    }

});// end of function

