这是我目前的代码:
pathName + '/' + file
现在我手动定义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]
抱歉这令人困惑。
答案 0 :(得分:0)
我在这里做了几个假设,但我想这可能与你之后的情况很接近:
// 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]
});
}
}
答案 1 :(得分: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]
})
}
}