2013-02-19 1 views
1

인스턴스가 이처럼 배열 변수에 있는지 확인할 수 있습니까?ActionScript3.0에서 ([배열]의 [인스턴스]) 가능합니까?

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

처럼 당신은 배열 요소의 인덱스를 반환해야

list.indexOf(instance) ; 

를 사용할 수 있습니다. -1을 반환하면 해당 값을 찾을 수 없다는 의미입니다.

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

또는 Array.contains에 대한 일반적인 속기는 다음과 같습니다 :

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

~ 운영자가 켜집니다 당신이 배열이 특정 항목이 포함되어 있는지 확인하려면

+0

빠른 답장을 보내 주셔서 감사합니다. 그것은 나를 귀찮게했지만 완벽하게 작동합니다. – Elonoa

+0

당신은 환영합니다 :) – vikingmaster

+0

네, 죄송합니다, 당신의 대답은 너무 빠르다. – Elonoa

1

indexOf 방법을 사용 -1에서 0 (거짓)의 값 및 기타 모든 값을 true로 설정하십시오.

+0

나는 ~ 연산자와 같은 것이 있는지 몰랐다. 감사합니다. 감사합니다. – Elonoa

관련 문제