[英]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.