2016-10-24 6 views
-3

この問題を正確に説明する方法がわかりませんが、コードで十分です。このコードはReact.jsにありますが、何よりもJavaScriptの問題だと思います。これは、3つの文字列...タイトル、著者、または年のいずれかに評価されます変数名をドット表記で動的にレンダリングする方法はありますか?

const key = this.state.key; 

:私は、変数の初期化を持っています。 この変数は次のブロックでどのように使用できますか?

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

ブックは、プロパティのタイトル、著者、年を持っている...場合には私はスケールにしたい、私は照会したい、と私はむしろキー(唯一の3今)の可能な値を切り替えるしないこと後でブックオブジェクトのプロパティが増えます。どのようにして動的にキーを参照し、そのタイトル、著者、年、またはキーがそうであるかもしれない他のプロパティにも即座にレンダリングできます。 (キーは本の所有物ではない)。私はbook.eval(key)を試しましたが、eval(key)で "undefined is a function"コンパイルエラーがスローされます。もう一度、私はReact.jsを使用していますが、これは一般的なJavascriptの質問だと思っています。ありがとう!

+3

'book [key]'はかっこ表記ですか? – Li357

+0

私はこの質問を理解していないかもしれませんが、オブジェクトブックを持っていて、keyと呼ばれるvarに基づいてbookの価値を得たい場合、 'book [this.state.key] ' – Keith

+1

@ user6711198そこのドットを取り除く: 'return book [key] .toString()....'プロパティについての基本的なJSチュートリアルを読んでください。 – Li357

答えて

0

book [key]は、回答のLiとKeithがコメントに投稿した正解です。

関連する問題