只获取数据层中数组的第一个值

时间:2014-11-03 16:15:47

标签: javascript

<script>
for(X=0;X<OrderDetails.length;X++) {
  var transactionProducts = [
      {
        'sku': OrderDetails[X][2],
        'name': OrderDetails[X][3],
        'category': 'none',
        'price': OrderDetails[X][5],
        'quantity': OrderDetails[X][6]
      }];
 }
  dataLayer.push({'transactionProducts': transactionProducts});
</script>

此代码未正确执行。另外,如果我将它放在GTM中的自定义HTML标记上,它会显示identifier expected。你能让我知道我在这里做错了吗?

1 个答案:

答案 0 :(得分:1)

您要小心所有这些值始终存在或者至少将每个推送包装在try / catch中。但是你的代码的直接问题是JS中没有数组理解,所以你的代码应该是:

//<![CDATA[ 

var transactionProducts = [];
  
for(X=0;X<OrderDetails.length;X++) {
  transactionProducts.push({
    'sku': OrderDetails[X][2],
    'name': OrderDetails[X][3],
    'category': 'none',
    'price': OrderDetails[X][5],
    'quantity': OrderDetails[X][6]
  });
}


dataLayer.push({'transactionProducts': transactionProducts});

//]]>