我如何在 Array 中执行 'for loop' 然后添加到 DataLayer.push
How I do 'for loop' inside Array then add to DataLayer.push
我已从网页中检索 ID 数据作为自定义 Javascript 变量:
function() {
var productID = document.querySelectorAll('a[data-productID]');
var allproductID = Array.prototype.map.call(productID, function(a) {
return a.getAttribute('data-productID');
});
return allproductID;
}
而且这个函数会返回页面中的所有 id,很好。
但现在我需要通过跟踪代码管理器将这些 ID 发送到 google,
我正在寻找的是如何在这些 return 数组中循环并将数组中的值放入 'id' 并将其推送到 Google,最终结果必须像:
<script>
gtag('event','view_item', {
value: 'somevalue'
'items': [
{
'id': 1234,
'google_business_vertical': 'retail'
},
{
'id': 45678,
'google_business_vertical': 'retail'
}
]
});
</script>
谢谢
您可以通过 return 语句在数组中创建对象,然后您可以添加到第二个 return 推像
function() {
var productID = document.querySelectorAll('a[data-productID]');
var allproductID = Array.prototype.map.call(productID, function(a) {
return {
'id': a.getAttribute('data-productID'),
'google_business_vertical': 'retail'
}
});
return dataLayer.push({
'event': 'view_items',
'value': 'somevalue',
'items' : allproductID
});
}
我已从网页中检索 ID 数据作为自定义 Javascript 变量:
function() {
var productID = document.querySelectorAll('a[data-productID]');
var allproductID = Array.prototype.map.call(productID, function(a) {
return a.getAttribute('data-productID');
});
return allproductID;
}
而且这个函数会返回页面中的所有 id,很好。
但现在我需要通过跟踪代码管理器将这些 ID 发送到 google,
我正在寻找的是如何在这些 return 数组中循环并将数组中的值放入 'id' 并将其推送到 Google,最终结果必须像:
<script>
gtag('event','view_item', {
value: 'somevalue'
'items': [
{
'id': 1234,
'google_business_vertical': 'retail'
},
{
'id': 45678,
'google_business_vertical': 'retail'
}
]
});
</script>
谢谢
您可以通过 return 语句在数组中创建对象,然后您可以添加到第二个 return 推像
function() {
var productID = document.querySelectorAll('a[data-productID]');
var allproductID = Array.prototype.map.call(productID, function(a) {
return {
'id': a.getAttribute('data-productID'),
'google_business_vertical': 'retail'
}
});
return dataLayer.push({
'event': 'view_items',
'value': 'somevalue',
'items' : allproductID
});
}