2016-10-24 28 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; 
    } 
); 

書有性標題,作者和年份......我要查詢,我寧願不通過鍵(僅3現在)的可能值開關,萬一我要縮放稍後還會爲書籍對象提供更多屬性。我如何動態引用密鑰,並將其隨時呈現給標題,作者,年份或密鑰可能的任何其他屬性。 (關鍵不是書的財產)。我已經嘗試過book.eval(key),但是這會在eval(key)處拋出一個「undefined不是函數」的編譯錯誤。再次,我使用React.js,但我認爲這是一個通用的JavaScript問題。謝謝!

+3

'書[key]'帶括號記號? – Li357

+0

我可能不理解這個問題,但是如果你有一本對象書,並且你想根據一個叫做key的var來獲得書的價值,那麼它應該是'book [this.state.key]' – Keith

+1

@ user6711198擺脫那個點:'返回書[key] .toString()....'讀一個基本的JS教程關於屬性 – Li357

回答

0

本書[關鍵]是Answer Li和Keith發表的正確答案!