1

インスタンスがこのような配列変数にあるかどうかを確認することは可能ですか?

var list=[];
var instance= new SomeClass();
list.push(instance);
if( instance in list){ trace("nice"); ]

または、インスタンスが配列内にあるかどうかを確認するために「for ループ」を実行する必要がありますか? お気に入り

for(var i=0; i<list.length; i++){
  if(list[i]==instance){ trace("ok"); }
}
4

2 に答える 2

4

使用できます

list.indexOf(instance) ;

配列内の要素のインデックスを返す必要があります。が返される場合-1は、値が見つからないことを意味します。

于 2013-02-19T15:47:16.873 に答える
1

配列に特定のアイテムが含まれていることを確認する場合は、次のindexOf方法を使用します。

if (list.indexOf(instance) > -1) {
    //do stuff
}

または、一般的な省略形Array.containsは次のとおりです。

if (~list.indexOf(instance)) {
    //do stuff
}

~演算子は、の値を-10falsey)に、他のすべての値をtrueに変換します。

于 2013-02-19T15:50:48.413 に答える