javascript - 有没有办法删除数据层中的对象?

标签 javascript jquery google-ads-api

有没有办法删除数据层中的对象?如图所示,有两个“google_tag_params”对象。我只需要一个。第一次推送是 onload,然后是在 js 调用中对 dataLayer 进行第二次推送。我需要先删除推送的一个,然后再推送第二个,这样数据层中就不会出现重复的“google_tag_params”

enter image description here

dataLayer.push(
            {   "google_tag_params":google_tag_params, 
                "ecomm_prodid":document.getElementById('prodid').value,
                "ecomm_pagetype": document.getElementById('pageType').value,
                "ecomm_totalvalue": price.toFixed(2),
            });

最佳答案

使用数组Filter

//es6
dataLayer = dataLayer.filter(x=>!x.google_tag_params);//removes any object
            // which has a key google_tag_params, guessing that its value won't be falsy
 // better use x => !(google_tag_params in x)
dataLayer.push(newGoogleTagParam);

//es5
dataLayer = dataLayer.filter(function (x) {
  return !x.google_tag_params;
});
dataLayer.push(newGoogleParam);

关于javascript - 有没有办法删除数据层中的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39634436/

相关文章:

javascript - 如何在 ionic/cordova/phonegap 中检查在前台或后台运行的应用程序

jquery:检查所有/无复选框只工作一次

android - Admob 横幅广告在 flutter 上被切断

google-analytics - 如何结合使用Google Analytics(分析)和Google AdWords gtag.js?

javascript - angularjs/javascript - 在未应用的图像上向左滚动

javascript - 关于 Javascript Shorthand object quotes in the key 的问题

javascript - ASP.NET Core 获取 POST FormData() application/x-www-form-urlencoded

c# - 与 jQuery UI 对话框交互后如何继续使用 asp.net 服务器端按钮单击方法?

jquery - 如何使用jquery添加onsubmit到表单

google-analytics-api - Google AdWords - 如何在 AdWords 中正确使用自动标记和 UTM 变量?