这是我的 dataLayer 数组:
dataLayer = [{
'giftBatch' : {
'giftID': '',
'giftAmount': 0,
'giftCount': 0,
'giftUpdate': {
'giftPhase': 'Gift Empty'
}
},
'txBatch': {
'txID': '',
'txTotal': 0,
'txURL': window.location.href,
'txUpdate': {
'txPhase': 'Transaction Opened',
'txT0': new Date(),
'txT1': ''
'txT2': ''
}
}
}];
控制台结果为:Array [Object1]
Object1 根据需要包含“giftBatch”和“txBatch”对象。
我有一个触发器,稍后会触发以更新 dataLayer 中的对象。
例如,将“giftAmount”更新为 50,将“giftCount”更新为 1。
我已经尝试了以下方法(我只展示了我修改“一次一个对象”的失败尝试),
尝试1:
dataLayer.push({giftAmount : 50});
结果:
数组 [object1, object2]
Object1 同上,
Object2 是一个新对象,其属性为'Gift Amount' : 50 ,
尝试2:
dataLayer.push({giftBatch.giftAmount: 222});
结果: SyntaxError: missing : after property id
尝试 3:
dataLayer.push({'giftBatch.giftAmount' : 50});
结果:
数组 [object1, object2]
Object1 同上,
Object2 是一个新对象,其属性为'giftBatch.giftAmount': 50
我在这里做错了什么?
根据此处的 dataLayer 部分: https: //support.google.com/tagmanager/answer/6106899?hl= en
我应该能够编辑嵌套对象值。
PS。这就是我现在正在使用的,它确实有效。但是,为什么不推动工作呢?
dataLayer[index].giftBatch.giftAmount = 50;
其中 index 是 Object2 的索引。
任何帮助都会很棒。
谢谢你。