gpt4 book ai didi

javascript - Javascript 中的 for 循环不一致/被忽略?

转载 作者:行者123 更新时间:2023-12-02 23:07:04 25 4
gpt4 key购买 nike

我有一个循环遍历一些 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”。如果我是正确的,我会认为除非定义了samplearray[p],否则第二个if语句将无法执行。该循环可以正确跳过其他 undefined object ,所以我很困惑。

有什么想法吗?

最佳答案

根据您附加的代码片段,未正确检查 if 语句

你应该使用

if(typeof samplearray[p]==="object"){

而不是

 if(typeof(samplearray[p]==="object")){

您的条件基本上是检查条件语句samplearray[p]==="object",它将在结果中给出 bool 值。

关于javascript - Javascript 中的 for 循环不一致/被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57539315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com