if(arr.indexOf(element))
if(arr.indexOf(element) !== -1)
if(arr.indexOf(element) > 0)
我认为,当我在indexOf()
语句中使用if
时,上述那些if语句将是相同的,但结果却与预期不同。
有没有人知道这些之间的区别?
答案 0 :(得分:2)
假设这是一个JS问题,这三个都不同。
if语句中没有indexOf的特殊逻辑。逻辑与以往一样。您只需要了解indexOf()的评估方式。第一个检查索引是真还是假,因此只有第一个索引不符合条件,其他所有索引都会通过。第二个检查它是否不是-1,除了数组中没有的值以外,什么都可以通过,第三个检查该元素的索引是否大于0,因此除了第一个索引和该索引中没有的任何元素以外,所有都通过。