【发布时间】:2017-01-06 04:31:00
【问题描述】:
我在使用嵌套的 $.each 循环对象时遇到问题。对象是嵌套在rootObject下的一系列相同类型/类的对象。
对象
var rootObject ={};
rootObject.reportObject1.name = "reportObject1 Name";
rootObject.reportObject1.prop1 = "reportObject1 Prop1_Value";
rootObject.reportObject1.prop2 = "reportObject1 Prop2_Value";
rootObject.reportObject1.reportObjectA.name = "reportObjectA Name";
rootObject.reportObject1.reportObjectA.prop1 = "reportObjectA Prop1_Value";
rootObject.reportObject1.reportObjectA.prop2 = "reportObjectA Prop2_Value";
循环
$.each(rootObject, function(index0, value0){
console.log(value0.name);
$.each(value0, function(index1, value1){
console.log(value1.name);
}
}
问题
value1.name在循环中返回名称以外的对象属性。它似乎试图为prop1和prop2返回 value.name,导致“未定义”值。在调试期间查看
value0的值时,value0在进入嵌套循环时似乎失去了它的值。即console.log(value1.name),value0,从父循环变成undefined;在调试期间查看子循环 (
index1, value1) 时,我看到value1现在等于value0.name,index1等于“名称”。
【问题讨论】:
标签: javascript jquery loops object nested-loops