重複の可能性:
演算子のjavascript
なぜ("a" in ["a","b"])
yield false
、(1 in [1,2])
yieldなのtrue
ですか?"a"
その配列の最初の要素と一致せず、1が一致する理由はありますか?文字列で機能しないのはなぜですか?
重複の可能性:
演算子のjavascript
なぜ("a" in ["a","b"])
yield false
、(1 in [1,2])
yieldなのtrue
ですか?"a"
その配列の最初の要素と一致せず、1が一致する理由はありますか?文字列で機能しないのはなぜですか?
in
オペレーターは、値ではなくキーによってプロパティの存在をチェックします。また、長さ2の配列にはインデックスがあります"1"
-arr["1"]
は値2
です。たとえば、も0 in ["a", "b"]
ですtrue
。動作は、使用されている文字列や数値に依存しません。
通常は、配列ではなく、プレーンオブジェクトで使用します。のよう"a" in {a:1} === true
に、または"b" in {a:1} === false
。