Tell us what’s happening:
Hello
Could someone explain me the code for this challenge?
I understand what the answer does (for the updateRecords(5439, "artist", "ABBA");
, at least), but I have been stuck in it anyway (even when being able to pass it), as I want to be sure I understand it well enough before moving on.
In the case, for example, of the check for “updateRecords(2548, "artist", "")
, artist should not be set”. Why does it pass? Is artist being deleted because it is checking for an empty string? (even when there is no change for it in the console when checked and there is an album property too) or what happens to it?
Sorry for asking so much or not being able to explain myself better.
Thank you.
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 (value === "") {
delete collection[id][prop];
} else if (prop === "tracks") {
collection[id][prop] = collection[id][prop] || [];
collection[id][prop].push(value);
} else {
collection[id][prop] = value;
}
return collection;
}
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/84.0.4147.135 Safari/537.36
.
Challenge: Record Collection
Link to the challenge: