Using Objects for Lookups how to write?

Tell us what’s happening:

where wrong? :thinking:

Your code so far


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

  // Only change code below this line
  phoneticLookup(val) = {
    alpha: "Adams",
    bravo: "Boston",
    charlie: "Chicago",
    delta: "Denver",
    echo: "Easy",
    foxtrot: "Frank"
  }
  result = lookup.val;
  // Only change code above this line
  return result;
}

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

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups

I suggest reading this:

Plus there is nothing called lookup in your code so result = lookup.val is referencing a thing that doesn’t exist

still can’t work, I don’t know how to write.

phoneticLookup(val) = {
    alpha: "Adams",
    bravo: "Boston",
    charlie: "Chicago",
    delta: "Denver",
    echo: "Easy",
    foxtrot: "Frank"
  }

The above is not correct syntax, you don’t declare variables like functions.

result = lookup.val;

You are saying result should be the value of val in an object lookup. As an example:

var example = {
  foo: 1,
  bar: 2
}

example.foo is 1

example.bar is 2

example.val is not anything, because there isn’t a key called “val”.

To evaluate a variable, you have to use bracket notation. If

var val = "foo"

Then example[val] is 1