Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Can';t存取阵列外环_Javascript_Arrays_For Loop - Fatal编程技术网

Javascript Can';t存取阵列外环

Javascript Can';t存取阵列外环,javascript,arrays,for-loop,Javascript,Arrays,For Loop,从for循环中的另一个数组填充后,访问数组时遇到一个奇怪的错误。CustomerName从另一个代码区域传递,并保存正确的值。我可以在第一个for循环中警告新数组,但是在第二个for循环中没有这样的运气。我收到一个未定义的错误 var aLocalDogs = new Array(); for (var a=0; a < localDogs.length; a++) { if(CustomerName === localDogs[a].CustomerName){

从for循环中的另一个数组填充后,访问数组时遇到一个奇怪的错误。CustomerName从另一个代码区域传递,并保存正确的值。我可以在第一个for循环中警告新数组,但是在第二个for循环中没有这样的运气。我收到一个未定义的错误

var aLocalDogs = new Array();
for (var a=0; a < localDogs.length; a++) {  
    if(CustomerName === localDogs[a].CustomerName){
        aLocalDogs[a]=localDogs[a];
        alert(aLocalDogs[a].CustomerName);
        alert(aLocalDogs[a].CustomerAddress);
   }
}
for (var b=0; b < aLocalDogs.length; b++) { 
    alert(aLocalDogs[b].CustomerName);
    alert(aLocalDogs[b].CustomerName);
}
var aLocalDogs=new Array();
对于(var a=0;a

任何帮助都将不胜感激……

假设
localDogs[a].CustomerName
a==5之前不等于
CustomerName
。然后你要:

aLocalDogs[5]=localDogs[5]

在第二个循环中,您尝试访问
alocalDogs[0]
。你从来没有分配给它

尝试使用
aLocalDogs.push(localDogs[a])
代替:

var aLocalDogs = new Array();
for (var a=0; a < localDogs.length; a++) {  
    if(CustomerName === localDogs[a].CustomerName){
        aLocalDogs.push(localDogs[a]);
    }
}
var aLocalDogs=new Array();
对于(var a=0;a

由于
alocalDogs
现在已按顺序分配,因此
for
循环的第一个
中的警报将不再工作-但我假设这些警报用于调试(否则,您可以只对
localDogs[a]
的值发出警报)。第二个循环现在应该可以工作了。

这是您的实际代码,还是介于两者之间?代码介于更多代码之间。localDogs包含localDogs[1].DogTitle、localDogs[2].DogTitle等值……请发布一个完整的代码示例,我们可以在其中重现该问题。使用像jsFiddle.net这样的网站通常是有帮助的。找到它,回来看看您提出的相同解决方案。这么愚蠢的错误。。。。将标记为答案,谢谢您的时间。。。