-1
配列にキーがあるかどうかを調べるために別のポストを読む( 'thing' in array)。単語を使用して、キーをチェックしようとしたときJavascript - すべての配列に「some」キーがありますか?
var capitals = [];
if(!('California' in capitals))
capitals['California'] = 'Sacramento';
alert("The capital is " + capitals['California']);
の問題を有する「いくつかの」しかし、それはアレイ法だから:
var arr = [];
var mykey = 'some';
if(mykey in arr)
alert("the word 'some' is in the array, value: " + arr[mykey]);
警告がある:単語「一部」の配列である、値:関数some(){[native code]}
キー 'some'で配列に何も設定しませんでしたが、 "in"はメソッドなので肯定を返します。 「some」という言葉が英語ではよくあることを考えれば、「some」が予約キーであれば、英語の文章の索引付けはどうすればいいですか?
https://jsfiddle.net/fcmjL728/
[ 'Map'(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)を使用するか、オブジェクトなしプロトタイプ( 'Object.create(null)')であり、配列ではありません。 –
[some](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)はArrayのメソッドです。 –
'in'演算子はオブジェクトの値をチェックせず、キーをチェックします。配列には、整数キーとそのプロトタイプの関数しかありません。 – 4castle