GOOGLE ADS

Samstag, 23. April 2022

Durchschleifen des Datalayer-Arrays für gekaufte Produkte

Ich habe ein Datalayer-Kaufobjekt mit zwei Produkten (aber der Benutzer kann mehr Produkte kaufen):

Dies ist ein Array, das ich habe:

[
{
name: "Product1",
id: 5986,
price: 980,
brand: "brand1",
category: "Cable & Adapter",
quantity: 1,
dimension51: "",
dimension52: "In Stock",
metric11: 980,
variant: 5771
},
{
name: "Prooduct2",
id: 5987,
price: 980,
brand: "brand2",
category: "Cable & Adapter",
quantity: 1,
dimension51: "",
dimension52: "In Stock",
metric11: 980,
variant: 5770
}
]

Ich möchte eine JS-Funktion erstellen, die von jedem Produkt ProductID und VariantID verkettet und eine Liste von productid_variantid zurückgibt.

Ich möchte über js Folgendes tun:

5986_5771, 5987_5770

Ich habe dieses JS bereits, aber es gibt im Google Tag Manager undefiniert zurück.


function f(){
var p = {{dataLayer.ecommerce.purchase.products}};
var result = [];
for(var i=0;i<p.length;i++){
result.push(p[i].id.concat('_',p[i].variant));
}
return result.join(',');
}

Lösung des Problems

Die Funktion fkann durch Folgendes ersetzt werden:

function f(){
var p = {{dataLayer.ecommerce.purchase.products}};
return p.map(({id, variant}) => `${id}_${variant}`).join(',');
}

(Die {{dataLayer.ecommerce.purchase.products}}Syntax in Ihrem Beispiel ist in JavaScript nicht gültig, aber ich vertraue darauf, dass diese Zeile für Sie funktioniert.)

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...