javascript - 我不明白使用对象进行查找的 freecodecamp 挑战

标签 javascript lookup-tables

我在 freecodecamp 中遇到了一个 JavaScript 挑战,这可能非常简单,但我仍然不明白如何去做。其过程如下:

// Setup
function phoneticLookup(val) {
  var result = "";

  // Only change code below this line
  switch(val) {
case "alpha": 
  result = "Adams";
  break;
case "bravo": 
  result = "Boston";
  break;
case "charlie": 
  result = "Chicago";
  break;
case "delta": 
  result = "Denver";
  break;
case "echo": 
  result = "Easy";
  break;
case "foxtrot": 
  result = "Frank";
  }

  // Only change code above this line
  return result;
}

// Change this value to test
phoneticLookup("charlie");

它希望我找到一种方法来查找任何对象。我确信这不是硬代码,但我不明白他们给出的解释,无论我做什么,它仍然不起作用,并且会出现“预期分配或函数调用,而是看到一个的表情,实在是太烦人了。我不允许使用 switch、case 或 if 语句。 请帮忙。

最佳答案

您需要将 switch 语句转换为对象:

lookup = {
    alpha: 'Adams',
    bravo: 'Boston',
    charlie: 'Chicago',
    delta: 'Denver',
    echo: 'Easy',
    foxtrot: 'Frank'
  };

现在您已经有了一个带有键和值的对象,您可以通过使用键来获取值,如下所示:

lookup['charlie'] //which will = 'Chicago'

lookup['echo'] //which will = 'Easy'

由于 key 将作为 val 传递到函数中,因此您现在可以使用 val 来获取与传入的 key 关联的正确值。

return lookup[val]

关于javascript - 我不明白使用对象进行查找的 freecodecamp 挑战,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48527906/

相关文章:

asp.net - 如何从 Javascript 函数设置 ASP.NET 控件的 "Visible"属性?

JavaScript/jQuery 仅适用于第二次点击

sql - TSQL表变量初始化

javascript - 使用 d3js 遍历 SVGElement 路径?

javascript - 无法点击 PrimeNG 确认对话框,锁屏

javascript - 由于 CORS,无法对 BigCommerce API 进行身份验证

c - 快速扑克手排名

Python:如何使用字典调用方法(字典中的值)以根据用户输入(字典中的键)在不同的函数中运行?

javascript - Lodash _.cloneDeep() 在迭代期间改变从哈希表查找派生的对象属性(扑克 - 扑克牌)

C++ exp LUT(查找表)