1
可能重复:
javascript in operator为什么([“a”,“b”]中的“a”)产生错误,并且([1,2]中的1)产生错误?
为什么("a" in ["a","b"])
产量false
,并且(1 in [1,2])
产量true
? 为什么"a"
与该数组的第一个元素不匹配,是否有原因? 为什么它不适用于字符串?
可能重复:
javascript in operator为什么([“a”,“b”]中的“a”)产生错误,并且([1,2]中的1)产生错误?
为什么("a" in ["a","b"])
产量false
,并且(1 in [1,2])
产量true
? 为什么"a"
与该数组的第一个元素不匹配,是否有原因? 为什么它不适用于字符串?
in
operator通过键而不是按值检查属性的存在。并且您的数组长度为2 的索引为"1"
- arr["1"]
为值2
。例如,0 in ["a", "b"]
也是true
。行为不依赖于正在使用的字符串或数字。
您通常会在普通对象上使用它,而不是在数组上。像"a" in {a:1} === true
或"b" in {a:1} === false
。
尝试'(10 [10,20])';) – Lucero 2012-08-04 11:33:32