2016-10-24 4 views
-3

이 문제를 정확하게 설명하는 방법을 모르지만 코드만으로 충분합니다. 이 코드는 React.js에 있습니다. 그러나 나는 그것이 무엇보다도 JavaScript 질문이라고 생각합니다. 변수 초기화가 있습니다 :도트 표기법으로 변수 이름을 동적으로 렌더링하려면 어떻게해야합니까?

const key = this.state.key; 

제목, 저자 또는 연도의 세 가지 문자열 중 하나로 평가됩니다. 이 변수를 다음 블록에서 어떻게 사용할 수 있습니까?

let filteredBooks = books.filter(
    (book) => { 
    return book.key.toString().toLowerCase().indexOf(this.state.query) !== -1; 
    } 
); 

예약 속성 제목, 저자, 연도가 ... 경우에 내가 확장하려는, I 쿼리 할, 나는 오히려 키 (만 3 현재)의 가능한 값을 통해 전환 할 것 나중에 책 개체에 대한 더 많은 속성이 있습니다. 동적으로 키를 참조하고 제목, 저자, 연도 또는 키가 될 수있는 다른 속성으로 즉석에서 렌더링 할 수 있습니까? (열쇠는 책의 재산이 아닙니다). book.eval (key)를 시도했지만 eval (key)에서 "undefined is not function"컴파일 오류가 발생합니다. 다시 한 번 React.js를 사용하고 있지만 이것이 일반적인 자바 스크립트 질문이라고 생각하고 있습니다. 감사!

+3

'book [key]'괄호 표기법이 있나요? – Li357

+0

어쩌면 질문을 이해하지 못 하겠지만, 당신이 책을 가지고 있고, key라는 var에 기반한 책의 가치를 얻고 싶다면'book [this.state.key] ' – Keith

+1

@ user6711198이 될 것입니다. 그 점을 없애라 :'return book [key] .toString() ....'속성에 대한 기본적인 JS 튜토리얼을 읽어라 – Li357

답변

0

[답변] 정답은 Li와 Keith가 코멘트에 게시 한 책입니다.

관련 문제