Cheizer
@Cheizer

Как добавить сумму в массив?

Друзья, есть такая непростая корзина для LP, просто набивает товары на лету и отправляет их список на почту, там единственно сложность с массивами и общей стоимостью. Так вот, вроде дело простое, но вот засада, не могу добавить число 300 к итоговой сумме (цена доставки например). Там засада в том что есть IF

if (include(Arrays, thisID)) {
.......
 } else {
    Arrays.push(thisID);
}


Вроде просто, сделал var delivery = 300;
Но вот не могу понять где ее приплюсовать, везде пробую и беда в том что считает правильно если один товар, с другим товаром еще накидывает 300. Не сильно силен просто в JS но разбираюсь немного, но с массивами не умею сильно работать, подскажите пожалуйста, для знатоков плевое дело уверен.

Как отловить финальную сумму и приплюсовать к ней 300?

Вот наглядно поднял https://codepen.io/Cheizer/pen/RdMBaP
  • Вопрос задан
  • 86 просмотров
Решения вопроса 1
AnatolTh
@AnatolTh
Full Stack Developer
Либо переписывать алгоритм, либо писать костыль, либо править вёрстку:

<span>300</span>&nbsp;руб.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Kozack
@Kozack Куратор тега JavaScript
Thinking about a11y
Как мне кажется у вас слишком переусложнен алгоритм.
В массиве храните объекты в виде
[
{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'}
]


И всё
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы