【发布时间】:2019-04-16 22:03:03
【问题描述】:
这是在此帖子澄清后重新发布:Cannot read property 'push' of undefined on an Array of objects
但基本上我所拥有的是下面
let foo = {
"a" : [],
"b" : [],
"c" : []
}
let fee = {
{
'name':'apple'
},
{
'name':'banana'
}
}
let fum = {
'apple':'a',
'banana':'b'
}
for(let index in fee){
let current = fee[index];
foo[fum[current.name]].push(current);
}
这告诉我我不能推送到未定义。
当我记录typeof foo[fum[current.name]] 时,我得到一个“对象”而不是预期的数组。
【问题讨论】:
-
您应该更新/编辑您的原始帖子。
typeof永远不会返回“Array”,数组是一个对象。但错误意味着fum[current.name]返回的属性名称在foo中不存在。 -
您的代码没有运行。费用申报有误。如果您将 fee 声明为像
let fee = [{'name':'apple'}, {'name':'banana'}];这样的数组,它似乎可以工作。
标签: javascript arrays reactjs object ecmascript-6