簡體   English   中英

javascript double loop`for`兩個數組

[英]javascript double loop `for` two array

這是我當前的代碼:

let total = 4;
let total_attr = 2;

for (let i = 0; i < total; ++i) {

    let    name = result.Item[i].attr[0].Name[0],
        value = result.Item[i].attr[0].Value[0]

    let    name2 = result.Item[i].attr[1].Name[0],
        value2 = result.Item[i].attr[1].Value[0]

    let return_value = [{
        [name]: value,
        [name2]: value2
    }];

    result.push( function() {return {return_value};} );
}

現在,我正在手動定義.attr[0] ,我想使其像.attr[k]這樣循環,不知道嗎? 謝謝。

我的結果:

        "return_value": [{
                "Size": "5",
                "Color": "Green"}
        ]
        "return_value": [{
                "Size": "8",
                "Color": "Green"}
        ]
        "return_value": [{
                "Size": "5",
                "Color": "Pink"}
        ]
        "return_value": [{
                "Size": "8",
                "Color": "Pink"}
        ]

對困惑感到抱歉。

我在這里做了幾個假設,但我想這可能與您追求的目標接近:

// results array
let result = [];

// for each item in results.Item[] array
for (let i = 0; i < result.Item.length; i++) {
    let item = result.Item[i];

    // for each item results.Item[i].attr[] array
    for (let j = 0; j < item.attr.length; j++) {
        let attr = item.attr[j];

        result.push({
            // NB: are these definitely array references?

            // if not, just use:
            // name: attr.Name,
            // value: attr.Value

            name: attr.Name[0],
            value: attr.Value[0]            
        });
    }

}

咦? 一個推測。 第一個循環通過初始數組。 第二個循環遍歷每個對象內的輔助數組。 輔助循環當前使用名稱數組作為長度。

var return_value;
var array = [{
    name: ['jack', 'david'],
    value: [1,2]
  },
  {
    name: ['leo', 'adam'],
    value: [1,2]
  }
]

for(var i = 0; i < array.length; i++) {
     for(var j = 0; j < array[i].name.length; j++ ) {
        return_value.push({
            name: array[i].name[j];
            value: array[i].value[j]
        })
     }
}

暫無
暫無

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

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