GTM 错误:计算 属性.ECMASCRIPT_2015 模式或更好:计算 属性
Error in GTM: Computed property.ECMASCRIPT_2015 mode or better: computed property
我想在 Google 跟踪代码管理器中 运行 使用以下功能,但出现以下错误:
This language feature is only supported for ECMASCRIPT_2015 mode or better: computed property.
下面是我正在尝试的函数 运行。我将如何更改它以与 GTM 一起使用?
谢谢
var compactObject = function(data) {
if (typeof data !== 'object') {
return data;
}
return Object.keys(data).reduce(function(accumulator, key) {
var isObject = typeof data[key] === 'object';
var value = isObject ? compactObject(data[key]) : data[key];
var isEmptyObject = isObject && !Object.keys(value).length;
if (value === undefined || isEmptyObject) {
return accumulator;
}
return Object.assign(accumulator, {[key]: value});
}, {});
}
您的主要问题似乎是:
How can I re-write {[key]: value}
so that it is supported in older
versions of JS
您可以 re-write 使用更长的(旧)版本
计算的 属性 语法
var obj = {};
obj[key] = value;
return Object.assign(accumulator, obj);
我想在 Google 跟踪代码管理器中 运行 使用以下功能,但出现以下错误:
This language feature is only supported for ECMASCRIPT_2015 mode or better: computed property.
下面是我正在尝试的函数 运行。我将如何更改它以与 GTM 一起使用? 谢谢
var compactObject = function(data) {
if (typeof data !== 'object') {
return data;
}
return Object.keys(data).reduce(function(accumulator, key) {
var isObject = typeof data[key] === 'object';
var value = isObject ? compactObject(data[key]) : data[key];
var isEmptyObject = isObject && !Object.keys(value).length;
if (value === undefined || isEmptyObject) {
return accumulator;
}
return Object.assign(accumulator, {[key]: value});
}, {});
}
您的主要问题似乎是:
How can I re-write
{[key]: value}
so that it is supported in older versions of JS
您可以 re-write 使用更长的(旧)版本
计算的 属性 语法var obj = {};
obj[key] = value;
return Object.assign(accumulator, obj);