1. ホーム
  2. javascript

[解決済み] ルックアップにオブジェクトを使用するfreecodecampの挑戦が理解できません。

2022-02-14 09:07:57

質問

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");

と表示され、任意のオブジェクトを検索する方法を考えろというのです。難しいコードではないのでしょうが、説明がよくわからず、何をやってもうまくいかず、「Expected an assignment or function call and instead to see an expression」と出てきて、本当にイライラします。switch、case、if文は使えません。 Pls help.

どうすればいいですか?

switchステートメントをオブジェクトに変換したい。

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

キーと値を持つオブジェクトができたので、次のようにキーを使って値を取得することができます。

lookup['charlie'] //which = 'シカゴ'となる。

lookup['echo'] //which = 'Easy'となる。

キーはvalとして関数に渡されるので、valを使用して渡されたキーに関連する正しい値を取得することができます。

return lookup[val]