javascript - 使用 Javascript 数组将键和值与某个变量匹配的正确方法是什么?

标签 javascript arrays key

我正在尝试在 JavaScript 中创建一个函数,以便获取与外部变量匹配的值。

我创建了一个键/值数组。然后我创建了一个函数来检查值是否与变量匹配。然后我将返回这个值的键。

function findNumberFromMonth($data)
{    
var obj = {
    01: "Jan",
    02: "Feb",
    03: "Mar",
    04: "Apr",
    05: "May",
    06: "Jun",
    07: "Jul",
    08: "Aug",
    09: "Sep",
    10: "Oct",
    11: "Nov",
    12: "Dec"
    }

 for(var element in obj)
         {
             if($data == element.value )
                 {
                     $number = element.key
                 }
          return $number;
         }

}

如果我将 $data 初始化为“Jan”,我期望输出“01”。

但我只得到一个 undefined object 。 我该如何处理?

感谢您的回复。

最佳答案

这可以通过 findObject.entries 来完成:

function findNumberFromMonth(data) {    
  const months = {
      01: "Jan",
      02: "Feb",
      03: "Mar",
      04: "Apr",
      05: "May",
      06: "Jun",
      07: "Jul",
      08: "Aug",
      09: "Sep",
      10: "Oct",
      11: "Nov",
      12: "Dec"
  };
  
  return Object.entries(months).find(([key, val]) => data === val)[0];
}

console.log(findNumberFromMonth('Oct'));

关于javascript - 使用 Javascript 数组将键和值与某个变量匹配的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54536244/

相关文章:

javascript - 我的 AABB 碰撞检测/解决代码有什么问题?

javascript - 在子文本框长度上隐藏父表行

javascript - 生成与另一个变量唯一的随机数

MySQL:如果不存在则高级插入

javascript - iOS 6 - Safari - onchange 用于选择元素行为异常(更改 selectedIndex)

javascript - 在 Netbeans 中创建乒乓球游戏

java - 检查字符串数组是否包含没有循环的子字符串

c - C中的硬编码字节数组

html - 返回键在 <textarea> 中不起作用

c++ - 具有整数键的映射与 vector 之间的区别