【发布时间】:2011-11-30 20:21:56
【问题描述】:
我有两个“哈希”数组。我需要将它们合并在一起,因此最终结果是另一个哈希数组,除了条目数是两个数组的乘积。
inhabitants = {}
idx = 0
for (i=0; i<persons.length; i++) {
person = persons[i];
for (j=0; j<houses.length; j++) {
house = houses[j];
console.log(house);
inhabitants[idx] = $.extend(person,house);
console.log(inhabitants[idx]);
idx++;
}
}
我最终得到的是大量的条目,这取决于 $.extend() 行中参数的顺序。并且添加的“house”条目始终是数组中的最后一个条目。
显然,来自 jQuery 的 $.extend() 并没有达到我的预期。有人可以帮忙吗?
【问题讨论】:
-
我不确定我是否理解,但你可以试试
$.extend({}, person, house)吗?您当前正在覆盖person。 -
pimvdb,如果两个哈希之间的密钥不同,那么来自房屋的密钥不会添加到人吗?我会试试你说的。
-
没错,但是您知道您基本上是在将
person分配给inhabitants[idx]吗?请注意,之前分配的对象也发生了变化,因为嵌套循环中只有一个person。 -
请把它作为答案 pimvdb,它起作用了!
-
对,每个人都应该和每个房子合并。
标签: javascript jquery