我的网站有几个对应于购买阶段不同阶段的 checkout 事件(即,查看订单、添加个人详细信息、添加付款信息).在数据层中,每一个都被称为"签出".我想返回一个名为‘Checkout’的dataLayer中所有事件的列表,这样我就可以比较它们.

我可以根据事件的序列号搜索各个事件

window.dataLayer[245];
window.dataLayer[288];

我可以按名字搜索

window.dataLayer.find(x => x.event === "checkout");

然而,按名称搜索只会返回第一个名为"Checkout"的事件,我想返回所有三个事件,有什么方法可以做到这一点吗?

推荐答案

数组实例的find()方法返回所提供的数组中满足所提供的测试函数的101.

要返回名称为checkout的所有事件,请try filter():

数组实例的filter()方法创建给定数组一部分的浅表副本,并将其筛选为通过所提供函数实现的测试的给定数组中的元素.

const checkoutEvents = window.dataLayer.filter(x => x.event === "checkout");

Javascript相关问答推荐

单击树元素时阻止焦点事件触发?

如何通过继承contentitable属性的元素捕捉keydown事件?

React Native平面列表自动滚动

通过使用100%间隔时间来代表我们还剩多少时间来倒计时

Bootstrap动态选项卡在切换选项卡后保持活动状态,导致元素堆叠

基于变量切换隐藏文本

类型自定义lazy Promise. all

在JavaScript中声明自定义内置元素不起作用

判断表格单元格中是否存在文本框

当点击注册页面上的注册按钮时,邮箱重复

无法访问Vue 3深度监视器中对象数组的特定对象值'

如何在文本字段中输入变量?

在使用位板时,如何在Java脚本中判断Connect 4板中中柱的对称性?

创建以键值对为有效负载的Redux Reducer时,基于键的类型检测

是否可以在Photoshop CC中zoom 路径项?

回溯替代方式

如何使用<;Link>;执行与JS Reaction中的";window.Location=/GameOverDied;";类似的操作?

警告框不显示包含HTML输入字段的总和

当从其他文件创建类实例时,为什么工作线程不工作?

如何使用Reaction路由导航测试挂钩?