是否可以查看实例是否在这样的数组变量中?
var list=[];
var instance= new SomeClass();
list.push(instance);
if( instance in list){ trace("nice"); ]
或者你必须运行“for loop”来查看实例是否在数组中?像
for(var i=0; i<list.length; i++){
if(list[i]==instance){ trace("ok"); }
}
答案 0 :(得分:4)
您可以使用
list.indexOf(instance) ;
它必须返回数组中元素的索引。
如果它返回-1
,则表示找不到该值。
答案 1 :(得分:1)
如果要检查数组是否包含特定项目,请使用indexOf
方法:
if (list.indexOf(instance) > -1) {
//do stuff
}
或者,Array.contains
的常用简写是:
if (~list.indexOf(instance)) {
//do stuff
}
~
运算符会将-1
的值变为0
(falsey),将所有其他值变为truthy。