鉴于此代码:
<script type="text/javascript">
var arr = [];
var names = [{name : 'George'}, {name : 'Ringo'}, {name : 'Paul'}, {name : 'John'}];
var surnames = [{surname : 'Harrison'}, {surname : 'Starr'}, {surname : 'McCartney'}, {surname : 'Lennon'}];
for (i = 0; i < names.length; i++) {
arr['firstname'] = names[i];
for (j = 0; j < surnames.length; j++) {
arr['firstname']['surname'] = surnames[j];
arr['firstname']['surname']['index'] = i;
console.log(arr);
}
}
</script>
运行时,内循环中的输出将仅显示所有条目上姓氏数组(Lennon)和 i(3)的最后一个值。我想要实现的输出是对于每个名字,姓氏将分配给所有名字(例如约翰·哈里森、约翰·斯塔尔等),索引(i)将从 0 增加到 3。谢谢。
最佳答案
你想要这样的东西吗?
var arr = [];
var names = [{
name: 'George'
}, {
name: 'Ringo'
}, {
name: 'Paul'
}, {
name: 'John'
}];
var surnames = [{
surname: 'Harrison'
}, {
surname: 'Starr'
}, {
surname: 'McCartney'
}, {
surname: 'Lennon'
}];
for (i = 0; i < names.length; i++) {
arr.push({
index: i,
firstname: names[i].name,
surname: surnames[i].surname
});
}
console.log(arr);
关于javascript - JavaScript 中的嵌套多维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37878485/