【发布时间】:2019-08-17 19:26:19
【问题描述】:
我有一个遍历一些 xml 的 for 循环。它顺利通过了大约 110 次,然后(莫名其妙地)似乎忽略了 for 循环中的 if 语句。任何帮助将不胜感激。
<script>
for (let z=0; z<agearray.length;z++){
for (let p=0; p<samplearray.length;p++){
console.log((samplearray[p]));
if(typeof(samplearray[p]==="object")){
if (samplearray[p].getAttribute("age")===agearray[z]){
var qwerty=samplearray[p];
console.log("test");
///blah blah blah, if statement continues
}
}
}
}
</script>
因此,循环成功地迭代了很多次,测试语句按预期记录。一旦它进入第 111 次迭代,我在第二个 if 语句中收到错误消息“Uncaught TypeError: Cannot read property 'getAttribute' of undefined”。如果我是正确的,我会认为第二个 if 语句将无法执行,除非 samplearray[p] 被定义。循环可以正确跳过其他未定义的对象,所以我很难过。
有什么想法吗?
【问题讨论】:
标签: javascript arrays xml for-loop