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

标签 javascript typescript

下面是返回true

a = 'status'
a=='status'

下面返回false

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

如果 '==' 返回 true 那么请告诉我为什么 'in' 返回 false >?

最佳答案

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)

关于javascript - 为什么 'in' 关键字无法在我的数组中找到元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48255890/

相关文章:

javascript - 如何在 div 重叠时调用 javascript 函数 div

typescript - 预期有 1 个参数,但得到 0.ts(2554) - 禁用

reactjs - 如何在 ReactJs 中使用 Typescript 为状态赋值并使用 setState

javascript - ng-repeat 中的动态 ng-model 名称

javascript - Fab 工具栏看起来不正确

javascript - knockout.js 3.3 - 在 foreach 绑定(bind)中重新呈现组件

javascript - 如何{异步:false} works in jQuery AJAX request?

typescript - TypeScript 3.0 中数组的泛型

angular - 可以创建抽象属性吗?

javascript - 如何在 Angular 中使用不是为 Angular 创建的节点模块?