2017-01-21 4 views
1

私は次のようにコードがある例を見てきました:配列にhasOwnPropertyを使用するのはいつですか?

var schemaSet:Array = currentScope(); 
if (schemaSet.hasOwnProperty("current")) 
    schema = schemaSet["current"]; 

私は前にこれを見たことがありません。私はas3のドキュメントをチェックし、それに関する情報は見つかりませんでした。注:このコードは、Adobe社員が作成したSchemaManager.currentSchema()のコードです。

いつ、どこで使用しますか?これよりも良いかと同等です:

if (schemaSet.indexOf("current")!=-1) 

答えて

3

データは次の2種類がありますのみ値とキーが含ま

  • 通常の配列は、0

  • から始めて、数値で

    また、すべての要素に文字列(数字でもよい)キーがあるオブジェクトもあります。

配列に値が含まれているかどうかを確認するには、.indexOf()メソッドを使用します。

var myArray = ["a", "b", "c"]; 

if (myArray.indexOf("a") > -1) return true; 

オブジェクトに特定のキーを持つ要素があるかどうかを確認するには、hasOwnProperty()メソッドを使用します。

var myObject = {a: "letter a", b: "letter b"} 

if (myObject.hasOwnProperty("a")) return true; 
+0

ありがとうございました。これは私が思ったものですが、コードサンプルはAdobe社の従業員によって書かれたAdobe Flex SDKからのものです。配列に文字列が含まれている場合、 'hasOwnProperty()'は 'indexOf()> -1'と同じですか? –

+1

本当にありません。 indexOf()は値だけを見て、hasOwnProperty()はキーだけを見ます。だからあなたがチェックしたいものに応じて、適切な方法を選ぶでしょう。 – Ibrahim

関連する問題