访问对象键:函数中的值对
Posted
技术标签:
【中文标题】访问对象键:函数中的值对【英文标题】:Accessing Objects Key:Value Pair in Function 【发布时间】:2018-07-26 16:54:45 【问题描述】:当我运行此代码时,我无法将它发送到 console.log 我正在寻找的答案。运行代码时得到 NaN。如何让这个函数将对象的神秘数字值相乘并返回结果?
const mysteryNumberObject =
mysteryNumber: 5,
;
function multiplyMysteryNumberByFive(mysteryNumberObject)
for(let key in mysteryNumberObject)
console.log(key * 5);
;
multiplyMysteryNumberByFive(mysteryNumberObject);
【问题讨论】:
console.log(mysteryNumberObject[key] * 5);
会起作用,假设它总是Number
。 key
是 mysteryNumber
所以 * 5 是 NaN
。您需要引用 object[key] 才能访问实际值。
【参考方案1】:
对象中唯一的键是"magicNumber"
,将其乘以 5 没有意义。我认为您想获取对象的值:
function multiplyMysteryNumberByFive(mysteryNumberObject)
for(let value of Object.values(mysteryNumberObject))
console.log(value * 5);
【讨论】:
我已经提交了我想出的答案,并且对于课程来说是正确的。你所做的并不能解决问题。【参考方案2】:我把它复杂化了。在查看了我的代码并尝试了一些其他修复后,我发现了为什么我的函数会产生 NaN。
const mysteryNumberObject =
mysteryNumber: 5,
;
function multiplyMysteryNumberByFive(mysteryNumberObject)
console.log(mysteryNumberObject.mysteryNumber * 5);
;
multiplyMysteryNumberByFive(mysteryNumberObject);
那行代码解决了整个问题,我只是在调试后将 console.log 切换为返回。
【讨论】:
以上是关于访问对象键:函数中的值对的主要内容,如果未能解决你的问题,请参考以下文章