首页 > 解决方案 > 如何将嵌套对象的项推入数组(未定义项)

问题描述

我有一个名为 nemesis 的对象

const nemesis= {
   name: 'api_G',
   badAss: true,
   inventory: [],
   health: 10,
   item: {type: "SQLinjections", damage: 100,
  },
 }

我想使用一个名为武器化的函数从项目对象中将键“类型”推送到空库存数组中

  function weaponize(nemesis, item){

   let pushItem  = nemesis.item.type
   let pickItem = nemesis.inventory.push(pushItem);

   return pickItem;

  }

但是调用该函数会引发错误

TypeError:无法读取未定义的属性“项目”

标签: javascriptarraysobject

解决方案


您不需要第二个参数item,您可以简单地将nemesis对象传递给函数:

const nemesis= {
   name: 'api_G',
   badAss: true,
   inventory: [],
   health: 10,
   item: {type: "SQLinjections", damage: 100,
  },
 }


function weaponize(nemesis){
 let pushItem  = nemesis.item.type
 nemesis.inventory.push(pushItem);
 return nemesis;
}

console.log(weaponize(nemesis));


推荐阅读