Return 一个 GTM JavaScript 变量(数组)在另一个 GTM JavaScript 变量中的总数

Return total of a GTM JavaScript variable (array) in another GTM JavaScript variable

这是我在这个网站上的第一个问题,我很好奇是否有人可以帮助我。在 Google 跟踪代码管理器中,我尝试设置一个自定义 JavaScript 变量,其中包含一些 jQuery 应该 return 特定数组中所有产品价格的总额。

在下面的代码中,我 return 增强型电子商务数据层中的所有产品价格。在 GTM 中,我将此变量称为“{{product price}}”。

function() {

var itemsInC = {{ecommerce.checkout.products}};

itemsincart = [];

for (var i = 0;i < itemsInC.length;i++) {

          priceincart.push(itemsInC[i].price);

    }

return priceincart;

}

上面的代码确实有效,例如 returns 的值如下:['9.99', '21.95', '34.99'].

在第二段代码中,我尝试对 GTM 变量“{{product price}}”中的所有 returned 值求和。但是,下面的代码无法正常工作。我怎样才能在下面的脚本中return上面脚本的总值?

这是我目前创建的:

function() {

    var total = $("{{product price}}").each(function() {

                0 += parseInt($(this).val(), 10);

    }

return total;

}

提前致谢!

亲切的问候,

假设您使用的代码与上面的代码完全相同,那么您会遇到一些语法错误。

  1. 您不需要将 GTM 变量括在引号中
  2. 不要使用 parseInt 因为那只是 returns 一个整数。请改用 "Number"。
  3. 你遗漏了一个括号

所以你可能应该使用这样的东西:

function(){
   var total = 0;
   $({{product price}}).each(function(){
      total += Number(this);
   })
   return total;
}

我不知道post回答我自己的问题是否正常但是我用下面的代码解决了上面的问题:

function() { var total = 0; for (var i = 0; i < {{product price}}.length; i++)
{ total += {{product price}}[i] << 0; } return total + ".00"; }