Tell us what’s happening:
I’ve approached this problem step-by-step and realized that 2 of the objectives seem to be the exact same… however I’m passing one and failing the other.
Could someone explain to me what the difference is between the second objective (X) and the fourth (highlighted)?
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 == "artist" && value !== "") {
collection[id][prop] = value;
}
if (prop == "tracks" && value !== "") {
collection[id][prop].push(value);
}
if (prop == "tracks" && value == "") {
delete collection[id][prop];
}
if (prop == "artist" && value == "") {
delete collection[id][prop];
}
if (prop == "album" && value !== "") {
collection[id][prop] = value;
}
return collection;
}
// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");
Your browser information:
User Agent is: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36
.
Link to the challenge:
I’m not allowed to post links but it’s under “Record Collection” under Basic Javascript.