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