Javascript对象循环只是将最后迭代的元素追加到另一个对象
Javascript object loop is only appending the last iterated element to another object
我有一系列循环,在最后的循环中创建一个javascript对象。对象在每次迭代中更改,例如:
// iteration 1: {Belmonte: 0.14625} (index):65
// iteration 2: {Castelo Branco: 0.286} (index):65
// iteration 3: {Belmonte: 0.14625} (index):65
// iteration 4: {Castelo Branco: 0.286}
// ... etc
我想将对象的每个(4)个版本附加到另一个对象上,但我只能附加最终版本#4:{Castelo Branco: 0.286}
。我明白为什么会这样,但我找不到解决办法。我已经创建了一个示例(检查控制台输出):http://jsfiddle.net/LUAj3/
I 通过将i
放入函数中,从而创建自己的作用域来解决问题。
我很快地浏览了一下你的文件,所以请对我说的话持保留态度。
在您的示例中,当您循环内部循环时,catIndicator[pck[i]]
这一行保持不变,因为在您的内部循环的每次迭代中,i
的值没有改变,因此您重写了该值。
如果我正确理解你的问题,你需要使用多维数组,如catIndicator[pck[i][j][key]]
。这可能不是正确的顺序,这取决于您希望如何设置数据对象,但我相信它已经传达了重点。
相关文章:
- Jasmine-无法将元素追加到DOM
- 将复杂的 SVG 元素追加到选区
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- 将元素追加到同级元素
- jQuery向每个元素追加与if语句匹配的内容
- 将一个元素追加到另一个元素的子元素中
- 使用 jquery 将数据值从父元素追加到子元素
- 如何将元素追加到动态生成的元素
- 不能将元素追加到表单数据
- 将元素追加到调用createElement()函数的父级
- 可以't使用jQuery将元素追加到html中
- 如何提取json数据,并通过js为每个拆分元素追加
- 如何在JQuery中将元素追加到动态字段中
- 使用Javascript/jQuery将已存在的元素追加到DOM中
- 按相同顺序将数组元素追加到另一个数组
- 仅为第一个元素追加
- 无法't在Angularjs/Jquery中将span元素追加到数组对象中
- jQuery:将元素追加到inputfield并移除
- Chrome扩展:将元素追加到DOM中没有立即出现的新注入的元素中
- 限制元素追加的数量