首页 > 解决方案 > 时钟角度问题 --> 如何在函数外部调用对象并将对象值赋给函数内部的变量

问题描述

我有以下问题,我想使用特定方法解决它:

// 编写一个接受两个数字的函数,一个代表时钟上的时针,另一个代表分针。确定时钟指针的角度。如果大于 180°,则返回相反的角度。

我在函数之外创建了一个对象。我希望我的函数能够访问键值对。

let clock = {

      // min bucket: // on clock  
      0: 12
      5: 1
      10: 2
      15: 3
      20: 4
      25: 5
      30: 6
      35: 7
      40: 8
      45: 9
      50: 10
      55: 11
      60: 12
    }

这是我的功能骨架。我无法修改clockAngle 中的参数。

function clockAngle (hour, minute) {




}

clockAngle(1, 15)

我的问题是我不知道(使用上述功能)如何执行以下操作:

一种。获取分钟输入参数 (15) 并使用时钟对象设置一个新变量(假设为 clock_num),该变量等于与键 15 关联的值,在我们的例子中是 3。

我该怎么做以上?

标签: javascriptfunctionobjectvariablesassign

解决方案


假设在与(或其中的一个范围)clockAngle相同的范围clock内声明,然后clockAngle 关闭 clock,因此clock在范围内。您可以使用带括号的属性访问器来访问以下条目clock

let clock_num = clock[minute];

现场示例:

let clock = {
    // min bucket: // on clock  
    0: 12,
    5: 1,
    10: 2,
    15: 3,
    20: 4,
    25: 5,
    30: 6,
    35: 7,
    40: 8,
    45: 9,
    50: 10,
    55: 11,
    60: 12
}

function clockAngle (hour, minute) {
    let clock_num = clock[minute];
    console.log(`clock_num for minute value ${minute} is ${clock_num}`);
}

clockAngle(1, 15);

有关此问题答案中的闭包的更多信息。

更多关于这个问题的答案中的变量属性访问。


推荐阅读