从一个变量中的数据层返回两个值

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;