Record Collection - "collection[id][prop] is undefined"

Tell us what’s happening:
Hello,

I am trying to solve “Record Collection” but keep failing the second test (all others pass):

After updateRecords(5439, "tracks", "Take a Chance on Me") , tracks should have "Take a Chance on Me" as the last element.

I get this message in the console:

collection[id][prop] is undefined

Tried to debug it by stepping through with dev tools, but could quite figure out what is undefined at which time, or how to fix it…

Any help is highly appreciated.

Your code so far


// Setup
var collection = {
    "2548": {
      "album": "Slippery When Wet",
      "artist": "Bon Jovi",
      "tracks": [ 
        "Let It Rock", 
        "You Give Love a Bad Name" 
      ]
    },
    "2468": {
      "album": "1999",
      "artist": "Prince",
      "tracks": [ 
        "1999", 
        "Little Red Corvette" 
      ]
    },
    "1245": {
      "artist": "Robert Palmer",
      "tracks": [ ]
    },
    "5439": {
      "album": "ABBA Gold"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function updateRecords(id, prop, value) {
  if (prop !== "tracks" && value !== "") {
    collection[id][prop] = value;
  }
  if (prop === "tracks" && value !== "") {
    collection[id][prop].push(value);
  } 
  if (value === "") {
    delete collection[id][prop];
  }
  
  return collection;
}

// Alter values below to test your code
// updateRecords(5439, "tracks", "Take a Chance on Me");

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:63.0) Gecko/20100101 Firefox/63.0.

Link to the challenge:

  if (prop === "tracks" && value !== "") {
    collection[id][prop].push(value);
  } 

collection[5439]['tracks'] is undefined. You can’t push to an undefined value.

@ArielLeslie thank you! Could solve it.

Glad to help. Happy coding!