Javascript 对象中的数组返回未定义的

Javascript 对象中的数组返回未定义的,javascript,angularjs,arrays,object,Javascript,Angularjs,Arrays,Object,我想循环对象中的数组,但它似乎返回未定义的 为什么返回未定义?我看到数组中包含项 谢谢 据我所见,您在声明之前引用了儿童 var children = $rootScope.Angular.nodes[0].children ^ ^ 由于书写量小,我不确定,但这可能是问题所在请以文本格式生成一个最小的代码,而不是图像,以再现问题,因此我们可以自己进行测试。使用此代码很难判断。但是,在Angular中,当您在

我想循环对象中的数组,但它似乎返回未定义的

为什么返回未定义?我看到数组中包含项


谢谢

据我所见,您在声明之前引用了儿童

var children = $rootScope.Angular.nodes[0].children
       ^                                      ^

由于书写量小,我不确定,但这可能是问题所在

请以文本格式生成一个最小的代码,而不是图像,以再现问题,因此我们可以自己进行测试。使用此代码很难判断。但是,在Angular中,当您在一个地方没有定义,而另一个地方似乎有一个对象时,问题通常是因为JavaScript的异步特性,尤其是AngularJS。因此,当代码运行时,数组还没有填充,但是在您尝试解析它之后,它确实会被填充。给我们更多的代码,我们可以得到一个更好的想法。这是真的,我将提供一小段代码在小提琴:。谢谢:我在这里得到了一个小演示@trincot,我看了这个演示。我看到一个350行的JS文件。不知道你指的是什么。这很难称为显示问题的最小代码。var children是局部变量声明和节点[0]。children正在从第一个节点访问名为children的属性。因此,在声明之前它没有引用子对象。我尝试将var children=$rootScope.Angular.nodes[0]放在fetchChildren方法之后,它不起作用。