Record Collection problem Javascript

Record Collection problem Javascript
0

#1

I have no clue why this is wrong. Someone please help.


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

  
  return collection;
}

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




Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36.

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


#2

what is the error you are getting?

I see this when I paste your code but I’m not sure if this is also what you’re seeing:
// running test
updateRecords(…)[5439].tracks.pop is not a function
// tests completed

Edit: if this is the problem you are seeing, then I think the issue is in the logic here (the else part specifically):

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

The challenge asked you to do something but you forgot to do it. I’ll paste the missing instructions that you didn’t follow here for you.

If prop is “tracks” but the album doesn’t have a “tracks” property, create an empty array before adding the new value to the album’s corresponding property.


#3

Yes that’s the error I’m getting


#4

try adding the missing logic that I mentioned in the edit to the previous post I made…