,如果我有一个数组myArray
这我循环通过:JavaScript数组索引测试
for(var i=0;i<myArray.length;i++) {
if(myArray[i] == myArray[i+1])
//do something
}
显然,myArray[i+1]
将无法在最后一次迭代。缺少测试,如果i == (myArray.length - 1)
,是否有一个干净的方法,不要在这个if语句失败,只是它的计算结果为false(如果myArray[i+1]
超出界限)?
哦,我知道我可能会更好过保持变量指向前值,并在每次迭代中只是测试,如果当前值等于存储先前的值。但我仍然想知道如何做到这一点,如问题所示。 – bba 2010-09-21 14:35:40
*“显然,myArray [i + 1]在最后一次迭代中将失败。”*嗯,是和否,取决于你的意思是“失败”。它不会抛出异常,但几乎肯定不是你想要的。它会将'myArray [i]'与'undefined'进行比较。无论如何,最好先停止,如KennyTM的答案所示。 – 2010-09-21 14:36:50