自定义JavaScript变量显示购物车中的多个项目

问题描述

我想创建一个自定义javascript变量,以获取购物车中的所有商品。 我想以以下格式返回变量: item0-item1-item2

 function() { 
        prod_names = []; 

    for( var i=0; i<cart.itemCount; i++ ) { 
        prod_names.push(cart.items[i].name); 
    } 
    return prod_names.join(" - "); 
}

我使用了代码(已编辑:由于注释中的提醒,删除了上面的.),但返回的结果未定义。希望就这种情况寻求所有GTM专家的帮助。谢谢。

下面显示页面中的数据层元素。谢谢。

enter image description here

解决方法

.前不应有[]

function() { 
        prod_names = []; 

    for( var i=0; i<cart.itemCount; i++ ) { 
        prod_names.push(cart.items/* here is your problem --> */./* <-- */[i].name); 
    } 
    return prod_names.join(" - "); 
}

我个人会这样:

const getNames = cart => cart.items.map(item => item.name).join('-')