0

Javascript 配列があり、いくつかのエントリが次のように定義されていると仮定します。

arr["rrr"]=1;
arr["ee"]=2;
arr["qqq"]=22;
...

たとえば、存在しないキーのエントリを取得しようとするとします。

var retr = arr["ppp"];

retrvarのステータスは何ですか? nullそれとも何かundefined他のものですか?指定されたキーの有効なエントリが配列に含まれていないかどうかを確認するにはどうすればよいですか? Javascriptの適切なテストは何ですか? ありがとう。

4

4 に答える 4

2

結果は未定義です。テストするには、これを行うだけです:

if ("ppp" in arr) {
  // do something
} else {
 // do something else
}
于 2013-03-03T12:33:31.470 に答える
1

欠落しているキーによって返される値は ですundefined。次のようにキーが存在するかどうかをテストできます。

var a = [];
a.hasOwnProperty('k'); // false
于 2013-03-03T12:38:05.413 に答える
0

未定義の配列キーの戻り値はですundefined。適切なテストは

var retr = arr["ppp"];
if(retr!=undefined){
  //retr has some value
}
else{
  //retr is undefined
}
于 2013-03-03T12:30:27.607 に答える
-1

あなたが Firebug で書いたコードを試してみました。存在しないキーのエントリにアクセスしようとしたとき

var retr=arr["ppp"];

null を返します。したがって、retr は null と同じです。

retr==null; //true
typeof retr=="undefined"; //true
于 2013-03-03T12:33:23.683 に答える