在java脚本中检查元素不在数组中?

Vel*_*rlu 0 javascript if-statement

嗨,我是 JS 新手,我正在尝试下面的代码

a=[0,1,3]
if (2 in a){ console.log(a)}
Run Code Online (Sandbox Code Playgroud)

在上面的代码中,我正在检查元素是否可用。但在上面的情况 2 不在数组中,但条件显示为真,为什么?

我知道我们可以检查这样的条件 a.includes(2) 为什么在上述情况下显示为真?

谢谢提前。

0xc*_*m1z 5

因为in运算符会检查对象中是否定义了属性。

数组索引是数组对象的“属性”,因此,2 属性是索引 2,其中包含值 3。