Tell us what’s happening:
Trying to complete this task and my code fails to fufill these parameters:
After updateRecords(2548, “artist”, “”), artist should not be set
After updateRecords(2548, “tracks”, “”), tracks should not be set
Dont know how to make sure artists and tracks are not set when value is an empty string
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 == "tracks" && collection[id].hasOwnProperty("tracks") == false)
{
collection[id]["tracks"] = [];
collection[id]["tracks"].push(value);
}
if(prop =="tracks" && value !==""){
collection[id]["tracks"].push(value);
}
else if(value ==""){
delete collection[id].prop;
}
else if(prop != "tracks" && value !=""){
collection[id][prop] = value;
}
else if(prop!= "tracks" && value ==""){
collection[id][prop];
}
return collection;
}
// Alter values below to test your code
updateRecords(5439, "artist", "ABBA");
updateRecords(5439, "tracks", "Take a Chance on Me");
updateRecords(2548, "artist", "");
updateRecords(1245, "tracks", "Addicted to Love");
updateRecords(2468, "tracks", "Free");
updateRecords(2548, "tracks", "")
updateRecords(1245, "album", "Riptide");
Your browser information:
Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/record-collection