javascript - 仅获取数据层中数组的第一个值

标签 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。你能让我知道我在这里做错了什么吗?

最佳答案

您要小心,所有这些值始终存在,或者至少将每个推送包装在 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});

//]]>  

关于javascript - 仅获取数据层中数组的第一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26718315/

相关文章:

javascript - typescript "Cannot find name <fieldname>"

javascript - 关闭和打开 jquery popUps 添加多个按钮

javascript - 使用 PyV8 从 Python 函数返回 `undefined`?

javascript - 如何通过 'onmouseover' 删除选择列表?

php - onbeforeunload 似乎并不总是被触发

javascript - 如何在滚动条上旋转背景图片

javascript - 构造更复杂的 for 循环

javascript - 我的函数参数有问题还是其他什么问题?

javascript - 使对象键成为等效子对象中的值

javascript - 自动完成搜索无法正常工作,不要遍历 $.each 中的所有元素 ul li 按时显示响应