Estoy trabajando en un fragmento de JavaScript para el administrador de etiquetas de Google donde tengo que mostrar el resultado como se muestra a continuación.
[{"product1":"Protein Corn Muffin"},{"product2":"Salted Caramel Super Smoothie"},{"product3":"Pop Corn"},{"product4":"Fruit Pops!"}]
Capa de datos adjunta.
dataLayer = { products: [ { name: "Protein Corn Muffin", id: "SHOP - US - 6032011P", price: "5.95", quantity: 1, }, { name: "Salted Caramel Super Smoothie", id: "SHOP - US - 6021050P", price: "7.95", quantity: 3, }, { name: "Pop Corn", id: "SHOP - US - 4117050P", price: "8.95", quantity: 2, }, { name: "Fruit Pops!", id: "SHOP - US - 41441109P", price: "9.99", quantity: 1, }, ], }; Can anyone guide me.Resuelve lo tuyo, pero investiga un poco la próxima vez.
datalayer.products.map( (p, i) => ({[`product${i+1}`]: p.name }))Otra solución tradicional:
var prods=[]; for(var i=0;i<dataLayer.products.length;i++){ prods.push({['product'+(i+1)]: dataLayer.products[i].name}); }Código de trabajo
var dataLayer = { products: [{ name: "Protein Corn Muffin", id: "SHOP - US - 6032011P", price: "5.95", quantity: 1, }, { name: "Salted Caramel Super Smoothie", id: "SHOP - US - 6021050P", price: "7.95", quantity: 3, }, { name: "Pop Corn", id: "SHOP - US - 4117050P", price: "8.95", quantity: 2, }, { name: "Fruit Pops!", id: "SHOP - US - 41441109P", price: "9.99", quantity: 1, }, ], }; var prods = []; for (var i = 0; i < dataLayer.products.length; i++) { prods.push({ ['product' + (i + 1)]: dataLayer.products[i].name }); } console.log(prods)