javascript - 如何将嵌套对象的项推入数组(未定义项)
问题描述
我有一个名为 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:无法读取未定义的属性“项目”
解决方案
您不需要第二个参数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));
推荐阅读
- c# - 比较这两个集合的最快方法是什么?
- r - 如何避免 rowSums() 删除行名?
- java - 获取数据时 json 解析速度慢
- javascript - 使用 Javascript 三元运算符将 CSS 类添加到 HTML
- powerbi - Power BI - 使用切片器过滤表以在连接列中匹配
- c# - Moq - 将参数从 setup() 传递给 return()
- c# - ASP.NET Core 3.0 ConfigureApplicationCookie 在 ConfigureServices 之外
- laravel - MiddleWare vs CustomRequest 检查用户权限
- node.js - 我可以在 mongodb 的 NodeJS 驱动程序中手动指定 BSON 类型吗?如果我使用“$numberLong”,我会收到错误
- c# - 当我尝试使用 MSBuild 构建解决方案时,它会启动 Visual Studio