为什么'in'关键字无法在我的数组中找到元素?

时间:2018-01-15 01:27:49

标签: javascript typescript

下面是返回真实的

a = 'status'
a=='status'

而下方正在返回false

a = 'status'
a in ['status'] --> False

如果'=='正在返回true,请告诉我为什么'in'正在返回false

1 个答案:

答案 0 :(得分:1)

The in operator不检查数组/集合是否包含元素。它检查右侧的对象是否具有左侧值的属性。

// Both return 'true'.
'foo' in { foo: 100, bar: 200 }
'filter' in ['hello']

您可能想要使用indexOf

['status'].indexOf(a) >= 0

或者对于较新版本的JavaScript,includes

['status'].includes(a)