Record Collection keep getting collection[id][prop] is undefined

Tell us what’s happening:

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 (value == ""){
      delete collection[id][prop]; return collection   
      }else if (prop === "tracks"){
         collection[id][prop].push(value) ; return collection 
      }  collection[id][prop] = value  ; return collection   
  
  } 

  
//
// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");

Nothing wrong with this code here. But you have to look at actual function call. For example, the exercise is invoking this function call.

But what if an object doesn’t have 5439 as a key or even if it does, doesn’t have “artist” property inside of it? Then it will return undefined.

If you are deleting a value or a key, make sure you find it first then delete it.