簡體   English   中英

用JavaScript生成多個JSON對象數組

[英]Generating multiple JSON object arrays in Javascript

我已經有這樣的數組。

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
        }
    );
}

稍后,您也可以嘗試動態地自動自動推送“ transactionProducts”

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM