2013-11-22 2 views
2

변수를 기반으로 개체 행을 동적으로 검색하려고 할 때 문제가 발생했습니다. 다음과 같은 상황에서 좋은 일이 무엇이겠습니까?자바 스크립트 개체 선택기에서 변수 사용

function getDetails(id) { 
    completeID = "event" + id; 
    title = eventDetails.completeID.title; 
} 

var eventDetails = { 
    'event1': { 
     'title': 'Lisbon Earthquake', 
      'content': "Test Content", 
    }, 
     'event2': { 
     'title': 'Falling Stars', 
      'content': 'Test Content' 
    } 
}; 

답변

1

당신의 방법이 시도 -

function getDetails(id) { 
    completeID = "event" + id; 
    title = eventDetails[completeID].title; 
} 

객체의 속성이 square bracket notation를 사용하여 액세스 할 수있다.

참고로, getDetails 함수에서는 var 키워드없이 변수를 선언합니다 (이미 전역 변수로 정의되지 않은 경우). 이것은 그것들을 전역 변수로 만들 것이고, 이런 식으로 전역 변수를 사용하는 것은 매우 나쁜 습관으로 간주됩니다. 다음과 같이 선언하십시오. -

function getDetails(id) { 
    var completeID = "event" + id, 
     title = eventDetails[completeID].title; 

    // do whatever you want with the title 
} 
+1

그랬습니다! 그것이 가능한 한 빨리 대답 할 것입니다. 감사! – Adam