我有一个对象(dataLayer),它的长度可以增加和减少,具体取决于您访问了多少页面。
我想要:
显然,我可以做到dataLayer['4'].ecommerce.information. product
。但是,我的问题是这个键/值的位置可以是任意数量。EG dataLayer [0],[1],[2],[12]等
不管对象中的索引如何,遍历此对象并查找此键/值对的最佳方法是什么?
const dataLayer =
{ 0: { a: 123, event: 'pageload', productId: 1 }
, 1: { b: 456, event: 'pageload', productId: 3 }
, 2: { event: 'gtm.load', productId: 3 }
, 3: { event: 'gtm.load', productId: 4 }
, 4:
{ pagetitle: 'Login Page'
, ecommerce:
{ information:
{ product:
[ { brandCode: 'car', productColor: 'red' }
, { brandCode: 'car', productColor: 'green' }
, { brandCode: 'car', productColor: 'yello' }
]
} } } };
谢谢,
这样与for(of)和for(in)
const dataLayer =
{ 0: { a: 123, event: 'pageload', productId: 1 }
, 1: { b: 456, event: 'pageload', productId: 3 }
, 2: { event: 'gtm.load', productId: 3 }
, 3: { event: 'gtm.load', productId: 4 }
, 4:
{ pagetitle: 'Login Page'
, ecommerce:
{ information:
{ product:
[ { brandCode: 'car', productColor: 'red' }
, { brandCode: 'car', productColor: 'green' }
, { brandCode: 'car', productColor: 'yello' }
]
} } } };
for (let key in dataLayer)
{
if (dataLayer[key].ecommerce)
{
for (let prod of dataLayer[key].ecommerce.information.product)
{
console.log( prod.brandCode, prod.productColor )
}
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句