我正在尝试将值与数组中的下一个值进行比较,但是当循环完成时,之后的代码将不会执行。
var json = [{'id':1},{'id':2},{'id':3},{'id':4},{'id':4},{'id':5},{'id':5}];
for(var i = 0; i < json.length; i++){
if(json[i].id == json[i+1].id){
console.log("Equal");
}
}
console.log('Something'); //This code is not executed
我意识到问题出在这部分[i+1]
。当我删除数字1
时,代码将正常执行。
有人知道为什么会这样吗?
答案 0 :(得分:1)
您需要将循环条件设置为from selenium import webdriver
driver=webdriver.Chrome(executable_path=r'C:\Users\Anindita\chromedriver.exe')
而不是i < json.length-1
,因为将i < json.length
作为条件会导致以下错误:
未捕获的TypeError:无法读取未定义的属性'id'
并终止该过程,以免获得最后的i < json.length
console.log()
答案 1 :(得分:-2)
您可以在if语句中添加以下条件:
var json = [{'id':1},{'id':2},{'id':3},{'id':4},{'id':4},{'id':5},{'id':5}];
for (var i = 0; i < json.length ; i++) {
if ((i+1) < json.length && json[i].id == json[i+1].id) {
console.log("Equal");
}
}
console.log('Something');