下面是返回真实的
a = 'status'
a=='status'
而下方正在返回false
a = 'status'
a in ['status'] --> False
如果'=='
正在返回true
,请告诉我为什么'in'
正在返回false
?
答案 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)