【发布时间】:2022-01-12 21:48:28
【问题描述】:
我在 ecomm 网站的 Google 跟踪代码管理器中工作。
在产品页面上,我需要知道库存产品的数量。
dataLayer 具有嵌套在每个颜色选项下的大小。每个尺码都有一个值,显示该尺码是否有货(“available”:“false”或“true”)。
我提供的代码是 dataLayer 中显示的代码。在此示例中,4 种尺寸中有 3 种有库存,因此我寻找要运行的 JS 来计算 ""available": "true" 的数量 - 在这种情况下,答案是 3。
我希望有一个可以在 Google 跟踪代码管理器中的变量中使用的解决方案。
{
"product": {
"variants": [
{
"colorID": "03",
"colorName": "MEDIUM DENIM",
"sizes": [
{
"sizeID": "10",
"sizeName": "33",
"available": "false",
"price": "24.0"
},
{
"sizeID": "1",
"sizeName": "24",
"available": "true",
"price": "24.0"
}
]
},
{
"colorID": "06",
"colorName": "LIGHT DENIM",
"sizes": [
{
"sizeID": "1",
"sizeName": "24",
"available": "true",
"price": "24.0"
},
{
"sizeID": "2",
"sizeName": "25",
"available": "true",
"price": "24.0"
}
]
}
]
}
}
【问题讨论】:
-
你想返回什么,基本上用for循环遍历obj,然后当你到达数组时,你可以forEach或map到sizes数组,设置一个条件来检查
available === 'true'的值。然后根据您要返回的内容,设置一个空数组或对象并在 for let in obj 中定义它
标签: javascript arrays google-tag-manager