将javascript数组转换为单个变量

时间:2019-02-18 21:06:44

标签: javascript arrays variables

我希望我使用正确的术语,因为我是JS的初学者,所以如果我使用的术语不正确,请更正我。我正在通过sku从我的网站收集dataLayer个数字,并将其转换为一个名为DL - Product Detail - SKUs的变量。当该变量遇到该变量时,它将被放入一个字符串中。某些产品可能只带有一个产品sku字符串(sku1),而其他页面则具有多个产品sku字符串(sku1sku2,{{ 1}})。我现在想做的是:将它们创建为单个变量,如下所示:

  • SKUS:sku1
  • SKUS:sku2
  • SKUS:sku3

老实说,我什至不知道从哪里开始。因此,任何建议将不胜感激。我有这样的事情,但我不认为这是我需要走的正确方向。

仅供参考,sku3使用{{...}}dataLayer调用SKU字符串。

Google Tag Manager是我需要逐个调出SKU的地方。

_ltk.Activity.AddProductBrowse(productskus);

我不太确定如何举一个好例子,但这也许会有帮助

这是穿过的对象:

(function() { 

    var productskus = "{{DL - Product Details - SKUs}}"; 

    return productskus('|');

    _ltk.Activity.AddProductBrowse(productskus);

    _ltk.Activity.Submit();
});

所以我创建了一个变量,将 object { id: '24513', model: 'Government', skus: '965000050,965000070,965000146,965000147,965000185,965000244', } 调用为字符串。

skus

从该var sku = ('965000050,965000070,965000146,965000147,965000185,965000244') 变量开始,由于缺少正确的术语,我现在需要每个项目都是它自己的sku

1 个答案:

答案 0 :(得分:0)

我想跟进以防其他任何人遇到这样的问题。

我必须创建另一个GTM变量来拆分SKU字符串:

  function(){
    var productSKUs = {{DL - Product Details - SKUs}}.split(',');
    return productSKUs
   }

我必须更新自定义HTML标记以调用上面创建的split sku变量,并将其放入for循环中以调用每个不同的sku:

function() { 

// Repeat this function for every item purchased -> done.
var productsku = {{JS - Split - Skus}};
  for (var i = 0; i < productsku.length; i++) {
    _ltk.Activity.AddProductBrowse(productsku[i]);
}

运行后,我在网络标签中看到了我需要的数据!

感谢所有帮助。