为什么("a","b"中的"a")产生错误,([1,2]中的1)产生真实?

Joã*_*imo 1 javascript match

可能重复:
运算符中的javascript

为什么("a" in ["a","b"])收益率false(1 in [1,2])收益率true?有没有理由"a"不匹配该数组的第一个元素而1呢?为什么它不能用于字符串?

Ber*_*rgi 5

in操作员检查由键,而不是值的存在属性.你的长度为2的数组有一个索引"1" - arr["1"]就是值2.例如,也0 in ["a", "b"]true.该行为不依赖于字符串或正在使用的数字.

您通常会在普通对象上使用它,而不是在数组上使用它.喜欢"a" in {a:1} === true,或"b" in {a:1} === false.