Record Collection i need help please

Record Collection i need help please
0

#1

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

  
}

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

Your browser information:

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

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


#2

Can you walk through your code and explain what each if statement is supposed to be checking? Your logic is confusing and it is hard to tell if you do not understand the challenge requirements or just not sure what code to use for your algorithm.

For example, in your first if statement (shown below), why do you return collection if value is a blank string? How does this fulfill the challenge requirements at all?

    if ( value === "") {
      return collection;
    }

#3

Hi! I would love to help you, since I also had some problems with that exercise, could you please explain your train of thought? It would be a lot easier to do help you that way. What I ended up doing was prioritizing “if statements” so I would need the least amount of code.