Как заполнить dataLayer из массива?
Мне надо отправить данные для метрики Яндекс. Есть js массив products каждый элемент которого тоже массив. Сейчас через цикл foreach пытаюсь заполнят но не получается. Как правильно заполнят?
"ecommerce": {
"currencyCode": "RUB",
"purchase": {
"actionField": {
"id" : "TRX987"
},
"products":[
products.forEach((element) =>
{
{
'"id":'+element['id'],
'"name":'+element['name'],
'"price":'+element['price'],
'"brand": "Brend"',
'"category":'+element['categoty'] ,
'"quantity": 1'
}
}
)
]
}
}
});
Пример как должен выглядит код
dataLayer.push({
"ecommerce": {
"currencyCode": "RUB",
"purchase": {
"actionField": {
"id" : "TRX987"
},
"products": [
{
"id": "25341",
"name": "Толстовка Яндекс мужская",
"price": 1345.26,
"brand": "Яндекс / Яndex",
"category": "Одежда/Мужская одежда/Толстовки и свитшоты",
"variant": "Оранжевый цвет"
"quantity": 1
},
{
"id": "25314",
"name": "Толстовка Яндекс женская",
"price": 1543.62,
"brand": "Яндекс / Яndex",
"category": "Одежда/Женская одежда/Толстовки и свитшоты",
"variant": "Белый цвет",
"quantity": 3
}
]
}
}
});
Ответы (1 шт):
Автор решения: Владимир
→ Ссылка
products.forEach((element) =>
тут нужно добавить return или убрать первые скобки Как по мне, проще в массив вставить уже готовый результат
ecommerce.purchase.products = array..