Пользовательская переменная JS для подсчета количества товаров в корзине

Мой веб-сайт отправляет следующие данные на уровень данных при совершении покупки

  ecommerce: {
    checkout: {
      actionField: {step: 3, revenue: null},
      products: [
        {
          name: 'Product 1',
          id: 4616,
          price: 516,
          brand: 'Brand Name',
          category: 'Product Type',
          variant: 'Product Version',
          quantity: 1,
          position: 1,
          dimension1: 'Guest',
          dimension2: '',
          dimension3: '',
          metric1: 2
        },
        {
          name: 'Product 2',
          id: 4618,
          price: 400,
          brand: 'Brand Name',
          category: 'Product Type',
          variant: 'Product Version',
          quantity: 1,
          position: 2,
          dimension1: 'Guest',
          dimension2: '',
          dimension3: '',
          metric1: 4
        }
      ]
    }
  }

Я хочу получить количество товаров в корзине как переменную в Диспетчере тегов (т.е. 2 товара в корзине). Я пытаюсь настроить Динеша решение отсюда, которое сделало что-то подобное для общей суммы, но у меня это не работает:

function(){
  var productList = ecommerce.checkout.products;
  var totalItems = 0;
  for(var i = 0;i<productList.length;i++)
  {
    totalItems+=(productList[i].quantity);
  }
  return totalItems;
}

Не уверен, что я делаю неправильно.


person DrPaulVella    schedule 22.03.2021    source источник
comment
Код правильный, что возвращает totalItems? Вам нужно проверить, есть ли у productList правильные данные массива.   -  person Ashish Yadav    schedule 22.03.2021
comment
он возвращает неопределенное   -  person DrPaulVella    schedule 23.03.2021
comment
Вам нужно проверить, действительно ли productList содержит данные массива.   -  person Ashish Yadav    schedule 23.03.2021
comment
как я это сделал?   -  person DrPaulVella    schedule 23.03.2021


Ответы (1)


У вас уже есть ответ, просто найдите длину продуктов, которые вы уже делаете в цикле for, то есть количество продуктов в корзине.

Надеюсь я ответил на ваш вопрос

person Srijith Ramachandran    schedule 23.03.2021