2016-10-24 26 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发表的正确答案!