Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

251
Visualizações
Convierta la variable de matriz en otra variable con valores separados por comas en Google Tag Manager con Javascript

Estoy tratando de convertir la variable de capa de datos que está en formato de matriz en otra variable que debería tener valores separados por comas.

Tengo un formato de matriz como este: -

 var data= [ { name: "productname", id: "1356", price: "0.00", category: "Health", position: "1", list: "New Products", stocklevel: "20", brand: "Health" }, { name: "productname2", id: "5263", price: "0", category: "Hair", position: "2", list: "New Products", stocklevel: "", brand: "Hair" },]

Que es lo que estoy tratando de convertir en valores separados por comas como a continuación.

 Product1: "productname", Product1Price: 0.00, Product1id: "1356", Product1brand: "health", Product1stocklevel: "20", Product2: "productname2", Product2price: 0, Product2id: "5263", Product2brand: "hair", Product2stocklevel: "",

Esto es lo que probé con la función javascript: -

 data.map((e, i) => { return Object.keys(e).map(p => `Product${i+1}${p=="name"?"":p}:"${e[p]}"`).join(",\n")}).join(",\n")

Con esta función, puedo obtener fácilmente lo que quiero.

Pero de alguna manera cada vez que traté de poner esta función en la variable gtm (que es una variable javascript personalizada)

Entonces me enfrento a un problema en la misma variable que se muestra a continuación: -

 Error at line 7, character 14: This language feature is only supported for ECMASCRIPT_2015 mode or better: template literal.

El código real en la variable javascript personalizada está aquí.

 function(){ data = {{Custom.orderData.items}}; var dataByComa = '' var Values = data.map(function (p, i) { return Object.keys (data[i]).map (function (k) { return Product ${p.position} ${k}: ${JSON.stringify(data[i][k])}`;});}).map(function (v) { return v.join(",\n"); }); var commaValues = Values.join(",\n"); return commaValues; } //Custom.orderData.items is datalayer variable which contains data in array format.

ingrese la descripción de la imagen aquí

Entonces, la pregunta es por qué esta función anterior no funciona en gtm y da algún error. Su ayuda será apreciada. Gracias :)

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

prueba este bucle simple

 const data= [ { name: "productname", id: "1356", price: "0.00", category: "Health", position: "1", list: "New Products", stocklevel: "20", brand: "Health" }, { name: "productname2", id: "5263", price: "0", category: "Hair", position: "2", list: "New Products", stocklevel: "", brand: "Hair" }] let dataByComa = ''; data.forEach((d, i)=> { Object.keys(d).forEach((key)=> { dataByComa += `product${i+1}_${key}=${d[key]}, \n` }); }) console.log(dataByComa)

about 4 years ago · Juan Pablo Isaza Relatório

0

El error se debe únicamente a que las funciones de flecha solo se pueden usar con ECMAScript 15 en adelante. No tiene relación con Google Tag Manager .

 var data = [ { name: "productname", id: "1356", price: "0.00", category: "Health", position: "1", list: "New Products", stocklevel: "20", brand: "Health", }, { name: "productname2", id: "5263", price: "0", category: "Hair", position: "2", list: "New Products", stocklevel: "", brand: "Hair", }, ]; const commaValues = data .map(function (p, i) { return Object.keys(data[i]).map(function (k) { return "Product" + p.position + k + ": " + JSON.stringify(data[i][k]); }); }) .map(function (v) { return v.join(",\n"); }); console.log(commaValues.join(",\n"));

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda