我爱模板网写了下面一段代码:
for(let i in arr) { if(arr[i].id === id && arr[i+1]) { idx = i+1 flag = true break } }
发现if怎么都进不去,但是打印了i、arr、id等等,是没问题的,按道理是可以进去的,但是 arr[i+1] 始终是undefined,于是乎,打印了下 i+1,发现是下面的结果:
01
11
21
31
...
原来,这个i并不是数字类型的索引,而是字符串类型的索引,查看https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in,里面有描述。知道了问题所在,解决起来就简单了。还是自己的基础太差,浪费时间。