Javascript 如何将嵌套对象的项推入数组(项未定义)
我有一个物体叫复仇女神Javascript 如何将嵌套对象的项推入数组(项未定义),javascript,arrays,object,Javascript,Arrays,Object,我有一个物体叫复仇女神 const nemesis= { name: 'api_G', badAss: true, inventory: [], health: 10, item: {type: "SQLinjections", damage: 100, }, } 我想从item对象将键“type”推入空的inventory数组 使用名为:weaponize的函数 function weaponize(nemesis, item){ let pu
const nemesis= {
name: 'api_G',
badAss: true,
inventory: [],
health: 10,
item: {type: "SQLinjections", damage: 100,
},
}
我想从item对象将键“type”推入空的inventory数组
使用名为:weaponize的函数
function weaponize(nemesis, item){
let pushItem = nemesis.item.type
let pickItem = nemesis.inventory.push(pushItem);
return pickItem;
}
但是调用函数会抛出一个错误
TypeError:无法读取未定义的属性“item”您不需要第二个参数
item
您只需将nemesis
对象传递给函数:
const nemesis={
名称:“api_G”,
坏蛋:没错,
存货:[],
卫生:10,
物品:{类型:“SQLinjections”,伤害:100,
},
}
功能武器化(复仇女神){
让pushItem=nemesis.item.type
复仇女神.inventory.push(pushItem);
报应;
}
日志(武器化(复仇女神))代码>您的预期输出是什么?调用函数时,我希望将“SQLinjections”添加到“inventory”数组中。。因此,当访问对象--nemesis.inventory--时,输出为“SQLinjections”。项在函数中的作用是什么?无法读取未定义的属性“项”
表示nemesis未定义。你确定你调用的函数以nemesis作为第一个参数吗?请同时添加函数的调用。这并不能回答问题,可能应该是一个注释