是否可以查看实例是否在这样的数组变量中?
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"); }
}
是否可以查看实例是否在这样的数组变量中?
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
,则表示未找到该值。
如果要检查数组是否包含特定项,请使用以下indexOf
方法:
if (list.indexOf(instance) > -1) {
//do stuff
}
或者,一个常见的简写Array.contains
是:
if (~list.indexOf(instance)) {
//do stuff
}
~
操作员会将值-1
变为( falsey 0
) 并将所有其他值变为真值。