Record Collection - Some Unknown Error

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

// Only change code below this line
function updateRecords(id, prop, value) {
 if ( prop != "tracks"){
   if( value != ""){
   collection[id][prop] = value;
   }
   else {
     delete collection[id][prop];
   }
  }
  if(prop == "tracks" && value != ""){
    if(collection[id].hasOwnProperty("tracks")){
    collection[id][prop].push(value);
    }
    else {
    collection[id][prop] = [value];
    }
  }
  if ( prop == "tracks" && value == ""){
    delete collection[id][prop];
  }
 return collection;
}
// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/record-collection/

I am getting the following error:
// running tests

collectionCopy is not defined

// tests completed

I get this even if I cut and paste the hint code… so it does seem like an error in the code. Can someone help, please ? Also all tests passing except the 1st one.

You might need this part from the original:

// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));
1 Like

Ah ! Thanks it worked ! What does this line do ? just for me to understand.

It lets the test compare the updated collections object with how it began.

1 Like