【问题标题】: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] 才能访问实际值。

标签: javascript function object nan multiplication


【解决方案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 切换为返回。

【讨论】:

    猜你喜欢
    • 2020-10-10
    • 2019-04-03
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2013-11-01
    • 2020-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多