GTM Javascript循环

GTM Javascript循环,javascript,google-tag-manager,Javascript,Google Tag Manager,我需要一些关于创建循环语句的帮助。我的GTM JS变量中有以下脚本 function() { var productname = {{dataLayer - ecommerce}}.detail.products[0].name; return productname; } 这里的问题是,我在脚本中指定使用“产品[0]”的产品名称。例如,当我在一个页面上有多个产品时,它总是返回第一个产品的值 我想创建一个循环语句,以便它返回变量中的所有产品名称 我试过类似的方法,但似乎不起作用 fu

我需要一些关于创建循环语句的帮助。我的GTM JS变量中有以下脚本

function() {
var productname = {{dataLayer - ecommerce}}.detail.products[0].name; 
return productname;
}    
这里的问题是,我在脚本中指定使用“产品[0]”的产品名称。例如,当我在一个页面上有多个产品时,它总是返回第一个产品的值

我想创建一个循环语句,以便它返回变量中的所有产品名称

我试过类似的方法,但似乎不起作用

function() {
var productname = []; 
for(var i = 0; i < {{dataLayer - ecommerce}}.detail.products.length; i++){
productname = productname .push({{dataLayer -ecommerce}}.detail.products[i].name);
return productname ;
 }
function(){
var productname=[];
对于(var i=0;i<{{{dataLayer-ecommerce}}}.detail.products.length;i++){
productname=productname.push({{dataLayer-ecommerce}}.detail.products[i].name);
返回产品名称;
}
有人能帮我吗

谢谢

试试这个

function() {
var productname = []; //empty products Array
var products =  {{dataLayer - ecommerce}}.detail.products; //Array of products
for(var i = 0; i < products.length; i++){
 productname.push(products[i].name);
}

return productname;//Final Array
}
function(){
var productname=[];//空产品数组
var products={{dataLayer-ecommerce}}.detail.products;//产品数组
对于(变量i=0;i

return语句应该放在for循环之外,以确保返回所有产品名称,而不仅仅是第一个产品名称。

它是从哪里来的{{dataLayer-ecommerce}}.detail.products?它是我在GTM中的变量之一。它应该是一个对象数组@Moe