在 Javascript 中生成多个 JSON 对象数组

Generating multiple JSON object arrays in Javascript

本文关键字:JSON 对象 数组 Javascript      更新时间:2023-09-26

我已经有这样的数组了。

var dataLayer = [];
dataLayer = [{
'transactionProducts': [{
'sku': '96710381',
'name': 'QEH',
'category': 'GLD',
'price': '309.00',
'quantity': '3'
},
{
'sku': '96710382',
'name': 'RYP',
'category': 'FMT',
'price': '209.00',
'quantity': '3'
}]
}];

现在,我需要生成另一个数组,并使用上述数组中的所有值。这就是我的做法。请在下面找到代码。但只会生成第一组值。第二个集合不会在新数组中生成。感谢一些关于如何做到这一点的评论!

var length = dataLayer[0]['transactionProducts'].length;
var len = dataLayer.length;
var gtmDataLayer = [];
var gtmDataLayer = [];
for (i=0;i<length;i++) {
var zsku = window.dataLayer[0]['transactionProducts'][i].sku;
var zsku = window.dataLayer[0]['transactionProducts'][i].sku;
var zname = window.dataLayer[0]['transactionProducts'][i].name;
var zcat = window.dataLayer[0]['transactionProducts'][i].category;
var zprice = window.dataLayer[0]['transactionProducts'][i].price;
var zquant = window.dataLayer[0]['transactionProducts'][i].quantity;
window.gtmDataLayer.push({
'transactionProducts': [{
'sku': zsku,
'name': zname,
'category': zcat,
'price': zprice,
'quantity': zquant
}]
});
}

这应该可以做到。

var length = dataLayer[0]["transactionProducts"].length;
var len = dataLayer.length;
var gtmDataLayer = [{"transactionProducts":[]}];
for (i=0;i<length;i++) {
    var zsku = window.dataLayer[0]["transactionProducts"][i].sku;
    var zname = window.dataLayer[0]["transactionProducts"][i].name;
    var zcat = window.dataLayer[0]["transactionProducts"][i].category;
    var zprice = window.dataLayer[0]["transactionProducts"][i].price;
    var zquant = window.dataLayer[0]["transactionProducts"][i].quantity;
    gtmDataLayer[0]['transactionProducts'].push(
        {
        "sku": zsku,
        "name": zname,
        "category": zcat,
        "price": zprice,
        "quantity": zquant
        }
    );
}

稍后,您也可以尝试动态自动推送"交易产品">