2011-03-29 4 views
0

개체 배열이 있습니다. 내가 무엇을하고 싶은지는 속성이 특정 값과 같은 객체의 마지막 인덱스를 얻는 것입니다.AS3 배열 개체 필터링 질문

예 :

// this occurs on a mouse click 
var stockObj:Object = new Object(); 
stockObj.ID = "an_id"; 
stockObj.category = "a_category"; 
array.push(stockObj); 
//psuedo 
trace(array.lastIndexOf(stockObj.category=="a_category")); 

내가 category 재산 문자열에없는 배열 검색 "a_category"

답변

0
 
function searchCategory(arr:Array, cat:String):int { 
    for (var i:int = arr.length - 1; i >= 0; i--) { 
     if (arr[i].category == cat) { // assuming array objects contains category 
      return i; 
     } 
    } 

    return -1; // no match 
} 
0

마지막 인덱스에 해당 객체의 인덱스 추적이 싶습니다 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/String.html#lastIndexOf%28%29

당신이해야 할 일은 O (n) 시간이 소요되는 배열을 실행하는 것입니다. 이는 인덱스

실제로 OBJ의 배열의 모든 OBJ 통해 루프 더 나은 방법이있다
for(int i = 0;i<array.length;i++){ 

if(array[i].category = "a_category") 
maxIndex = i; 
} 

} 

"a_category"카테고리 이름을 가진 개체가있는 볼 수 있지만 나는 기압 희망 누군가가 댓글을 달 수 있습니다 그것을 기억할 수 당신이 말에 시작되도록에서 그하지만, (배열 X) { ... }

어쨌든 그 논리를 사용 같은 그 무언가가, 더 빨리 당신이 그것을 반대하면 많이있을 거라고 생각 배열을 검색하고 카테고리가 "a_category"인 obj가 처음 나오는 색인을 반환하십시오.