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作为第一个参数吗?请同时添加函数的调用。这并不能回答问题,可能应该是一个注释