javascript - 为什么 ("a"中的 ["a","b"]) 产生假,而 (1 in [1,2]) 产生真?

标签 javascript match

<分区>

Possible Duplicate:
javascript in operator

为什么 ("a"in ["a","b"]) 产生 false,而 (1 in [1,2]) 产生 true"a" 与该数组的第一个元素不匹配而 1 匹配是否有原因? 为什么它不适用于字符串?

最佳答案

in operator通过键而不是值检查属性是否存在。你的长度为 2 的数组 有一个索引 "1" - arr["1"] 是值 2。例如,["a", "b"] 中的 0 也是 true。该行为不依赖于所使用的字符串或数字。

你通常会在普通对象上使用它,而不是在数组上。比如 "a"in {a:1} === true,或者 "b"in {a:1} === false

关于javascript - 为什么 ("a"中的 ["a","b"]) 产生假,而 (1 in [1,2]) 产生真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11808263/

相关文章:

javascript - 无法更新 ReactJS 中现有的输入组件值

html - 如何使 float 链接元素的高度达到其父 div 的 100%

java - 提取特定单词后由分隔符分隔的值

python - 有没有办法检查两个对象在 python 中的每个变量中是否包含相同的值?

javascript - 为什么这不起作用?在循环中调用属于对象的函数

javascript - 使用 Javascript 预测 future 趋势数据

javascript - 如何在 Rails 3.2 应用程序中使用 Twitter Bootstrap 的 Tabbable Tabs 在单击一个选项卡时将内容返回到两个单独的 tabbable ID

javascript - 提交时如何使用 html 表单创建页面或 html 代码?

c++ - 没有匹配函数调用 'AnimationSet::AnimationSet()'

R:匹配两个向量的问题