【发布时间】:2018-02-23 15:49:39
【问题描述】:
这是我的对象的一部分
const category = {
fr: {
list: [
{id: 1, label: 'coucou'},
{id: 2, label: 'moi'},
{id: 3, label: 'ici'},
{id: 4, label: 'maintenant'},
{id: 5, label: 'demain'},
]}}
const lang = fr;
const anyId = 3;
执行以下操作时我不知道为什么:
const result = category[lang].list.find(item => item.id === anyId) console.log(result)
抛出以下内容:
// undefined category[lang].list.find(item => item.id === anyId) 不是 一个函数,或者只是未定义的
.map 或 .filter 的结果相同
-
console.log(category)不返回错误 -
console.log(category[lang])不返回错误 -
console.log(category[lang].list)不返回错误
但其他任何事情都会返回错误。 它让我发疯,任何帮助将不胜感激。
【问题讨论】:
-
const lang = 'fr'not lteralfr通过将fr不包含在引号中,您的代码期望fr已经定义(因此在运行时出现undefined错误):- ) -
is not a function, or just undefined--> 那么是第一个错误还是第二个错误?它是未定义的,但已定义,只是不是一个函数?? -
console.log(category[lang]) returns no error,但它显示了什么? -
您的代码可以将
fr用引号括起来,但您需要确定这是您想要的。变量fr这里const lang = fr;是另一个声明的变量?
标签: javascript object react-native find