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
}

~操作员会将值-1变为( falsey 0) 并将所有其他值变为真值。

于 2013-02-19T15:50:48.413 回答