Как мне кажется у вас слишком переусложнен алгоритм.
В массиве храните объекты в виде
[
{id: 'prod1', count: 1, price: 100, name: 'Prod 1'},
{id: 'prod2', count: 1, price: 200, name: 'Prod 2'},
{id: 'prod3', count: 1, price: 300, name: 'Prod 3'},
]
При выводе просто списка корзины просто выведите все элементы из массива по имени (Цела * количество)
При добавлении нового товара, проверьте есть ли такой и массиве по ИД. Если есть — просто увеличте количество. Если нет — добавьте.
При таком подходе, для добавления любой надбавочной стоимости, вам будет достаточно в самом начеле объявить массив с ней
var Arrays = [
{id:'order', count: 1, price: 300, name: 'Order Price'}
]
И всё