访问对象键:函数中的值对

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); 会起作用,假设它总是NumberkeymysteryNumber 所以 * 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 切换为返回。

【讨论】:

以上是关于访问对象键:函数中的值对的主要内容,如果未能解决你的问题,请参考以下文章

使用列表中的每个值作为键值对中的键

JSON语法

Python字典_术语

获取系统环境变量

20.1章JSON语法

java 怎么样获取Map中第几个键值对