从一个变量中的数据层返回两个值
Returning two values from data layer in one variable
我正在使用 GTM,我希望 return 数据层中的两个变量到我的 GTM 变量。
当我分别尝试它们时,它们按预期工作。但是,问题是我希望将它们组合在一起。
这两个在我分别测试时有效
function(){
return Code = ecommerceData[0].Field.field1|| undefined;
}
和
function(){
return ecommerceData[0].cart.fields[0].Name || undefined;
}
我在将它们组合在一起时遇到问题,这个并没有给我预期的结果
function(){
Code = ecommerceData[0].Field.field1;
Name = ecommerceData[0].cart.fields[0].Name;
return Code , "_" , Name|| undefined;
}
非常感谢任何提示或指导。
您可以 return 一个包含两个值的数组。
您的return声明:
return Code , "_" , Name|| undefined;
return 仅是最后一个值,在您的情况下它是 "Name" 变量。您可以在 MDN 上的 return 语句中阅读有关逗号分隔值的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
因此,为了解决您的问题,您可以将其更改为数组,例如:
return [Code , Name] || undefined;
我正在使用 GTM,我希望 return 数据层中的两个变量到我的 GTM 变量。
当我分别尝试它们时,它们按预期工作。但是,问题是我希望将它们组合在一起。
这两个在我分别测试时有效
function(){
return Code = ecommerceData[0].Field.field1|| undefined;
}
和
function(){
return ecommerceData[0].cart.fields[0].Name || undefined;
}
我在将它们组合在一起时遇到问题,这个并没有给我预期的结果
function(){
Code = ecommerceData[0].Field.field1;
Name = ecommerceData[0].cart.fields[0].Name;
return Code , "_" , Name|| undefined;
}
非常感谢任何提示或指导。
您可以 return 一个包含两个值的数组。
您的return声明:
return Code , "_" , Name|| undefined;
return 仅是最后一个值,在您的情况下它是 "Name" 变量。您可以在 MDN 上的 return 语句中阅读有关逗号分隔值的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Comma_Operator
因此,为了解决您的问题,您可以将其更改为数组,例如:
return [Code , Name] || undefined;