【发布时间】:2016-06-17 09:52:41
【问题描述】:
鉴于此代码:
<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>
运行时,内部循环中的输出将仅显示所有条目上姓氏数组(列侬)和 i(3) 的最后一个值。我想要实现的输出是对于每个名字,姓氏将分配给所有名字(例如 John Harrison、John Starr 等),并且 index(i) 将从 0 增加到 3。谢谢。
【问题讨论】:
-
预期输出是什么?
-
javascript 中没有关联数组,因此您不能按原样将任何内容存储到
arr['firstname']中。 -
@Dellirium,OP 可以使用他的代码存储数据:如果使用命名索引,JavaScript 会将数组重新定义为标准对象。
标签: javascript