如何使用 JavaScript 查询数据层中的特定项目
How do I query a specific item in the dataLayer with JavaScript
我正在尝试从 dataLayer 中提取特定项目的值。这实际上有效: dataLayer[26].discountCode 但问题是数组中的项目位置发生变化(有时是 26,其他是 27、28) - 我的问题是我怎么总是选择正确的物品。我正在寻找的事件对是:
[array #]: {event: "e_orderDiscount", discountCode: "20"}
编辑:
我尝试了:Tried this: const company = dataLayer.find(e => e.event === 'company_name'); const thename = company.company_name;
但结果不是我所期望的。这个 dataLayer.find(e => e.company_name).company_name
最终是我需要的解决方案。
如果您要搜索某个项目,可以使用 Array.prototype.find
:
// Watch out, item could be undefined if there are none that match
const item = dataLayer.find(e => e.event === 'e_orderDiscount');
const code = item.discountCode;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
在评论中来回反复之后,这是有效的解决方案:
dataLayer.find(e => e.company_name).company_name
我正在尝试从 dataLayer 中提取特定项目的值。这实际上有效: dataLayer[26].discountCode 但问题是数组中的项目位置发生变化(有时是 26,其他是 27、28) - 我的问题是我怎么总是选择正确的物品。我正在寻找的事件对是:
[array #]: {event: "e_orderDiscount", discountCode: "20"}
编辑:
我尝试了:Tried this: const company = dataLayer.find(e => e.event === 'company_name'); const thename = company.company_name;
但结果不是我所期望的。这个 dataLayer.find(e => e.company_name).company_name
最终是我需要的解决方案。
如果您要搜索某个项目,可以使用 Array.prototype.find
:
// Watch out, item could be undefined if there are none that match
const item = dataLayer.find(e => e.event === 'e_orderDiscount');
const code = item.discountCode;
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find
在评论中来回反复之后,这是有效的解决方案:
dataLayer.find(e => e.company_name).company_name