<分区>
Possible Duplicate:
javascript in operator
为什么 ("a"in ["a","b"])
产生 false
,而 (1 in [1,2])
产生 true
?
"a"
与该数组的第一个元素不匹配而 1 匹配是否有原因?
为什么它不适用于字符串?
标签 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/