2013-02-03 2 views
0

appointments 배열의 객체를 얻으려면 어떻게해야합니까? appointments.id = calEvent.id?자바 스크립트 배열에서 객체 가져 오기 where appointments.id = calEvent.id

appointments.push({ 
    id: id, 
    start: startFormatted, 
    end: endFormatted, 
    title: '<b>' + title + '</b><br><div id="event_body">' + body + '</div>', 
    userId: userid, 
    categoryId: categoryId, 
    counterId: counter 
}); 

eventRender : function(calEvent, $event) { 
    var id = calEvent.id; 

    // get the object in the appointments-array where appointments.id = calEvent.id 
} 
+1

'calEvent'로 전달되는 객체는 무엇입니까? – 0x499602D2

+0

jQuery weekcalendar 플러그인의 캘린더 이벤트입니다. calEvent.id는 appointments.id 중 하나와 같습니다. – doonot

답변

1

당신은이 일치 id를 찾을 수 귀하의 appointments 배열을 통해 루프가 필요합니다. 이 시도 :

eventRender : function(calEvent, $event) { 
    var id = calEvent.id;   
    for (var i = 0; i < appointments.length; i++) { 
     if (appointments[i].id == id) { 
      // do something with the appointment... 
      break; 
     } 
    } 
} 
1

그냥 원하는 ID를 찾는 배열을 통해 루프를 가지고는 :

for (var i = 0; i < appointments.length; i++) { 
    if (appointments[i].id == calEvent.id) { 
     // appointments[i] contains the desired id 
     break; 
    } 
} 
0

무엇

appointments[id]={ 

    start: startFormatted, 
    end: endFormatted, 
    title: '<b>' + title + '</b><br><div id="event_body">' + body + '</div>', 
    userId: userid, 
    categoryId: categoryId, 
    counterId: counter 
}; 

에 대해 다음

eventRender : function(calEvent, $event) { 
    var id = calEvent.id; 
    // get the object in the appointments-array where appointments.id = calEvent.id 
    var obj=appointments[id] 
} 

가난한 지수는 항상 빠른 & 밀어 넣기를 반복 까다로운보다 것을 추가하는 속도가 느린 편집 또한 사용자가 변경할 수없는 경우 당신이 당신의 약속을 세우는 방법은 한 번에 루프를 반복 할 수 있습니다. 이벤트 정렬 기능을 사용하여보다 효율적으로 사용할 인덱스 배열을 생성 할 수 있습니다 eventrender가 호출 될 때마다 루핑하는 것보다 간단합니다. 가장 큰 약속, 명백히 색인 할 필요성이 가장 많습니다.

+0

약속 색인이 해당 ID와 일치하지 않습니다. – doonot

+0

그런 식으로 설정하면됩니다 - 쓸데없는 덧글 @doonot; 한번 인덱싱은 매번 반복하는 것보다 빠릅니다. – mikakun

+0

@doonot 또한 내 대답을 편집하십시오. 다르게 공식화하려면 id 속성이 id로 설정된 객체를 푸는 대신 id로 설정된 인덱스를 사용하여 배열에 요소를 추가합니다 (&는 id 속성을 필요로하지 않습니다). 어쨌든 당신이 영원히 반복하는 걸 좋아한다면 그건 내가 생각하기에 너의 전화 야. – mikakun

관련 문제