Actionscript 3 如果[array]中的[instance]在ActionScript3.0中是可能的?

Actionscript 3 如果[array]中的[instance]在ActionScript3.0中是可能的?,actionscript-3,flash,if-statement,Actionscript 3,Flash,If Statement,是否可以查看实例是否位于这样的数组变量中 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"); } } 你可以用 list.indexOf

是否可以查看实例是否位于这样的数组变量中

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"); }
}
你可以用

list.indexOf(instance) ;
它必须返回数组中元素的索引。 如果返回-1,则表示找不到该值。

您可以使用

list.indexOf(instance) ;
它必须返回数组中元素的索引。
如果返回-1,则表示找不到该值。

如果要检查数组是否包含特定项,请使用以下方法:

或者,Array.contains的常用缩写为:


~运算符会将-1的值设为false,将所有其他值设为truthy。

如果要检查数组是否包含特定项,请使用以下方法:

或者,Array.contains的常用缩写为:


~运算符将把-1的值变为0 FALSY,将所有其他值变为truthy。

感谢您的快速回复。这让我很困扰,但效果很好。是的,对不起,你的回答太快了,我没有马上接受。谢谢你的快速回复。这让我很困扰,但效果很好。是的,对不起,你的回答太快了,我不能马上接受。我不知道有~operator这样的东西。它看起来更漂亮,谢谢。我不知道有接线员这样的东西。戴上它看起来更好,谢谢
if (~list.indexOf(instance)) {
    //do stuff
}