Tell us what’s happening:
I’m stuck on one of the requirements for the assignment:
After
updateRecords(recordCollection, 2548, "tracks", "")
,tracks
should not be set
What I don’t get is that a very similar requirement that comes before this woks fine. Also I’ve checked with console log to see that the “tracks” property is undefined
. I’ve also googled the problem and saw that many were stuck as well. I’ve even tried copying the answer from someone else and it still doesn’t work?
Any help would be appreciated. Thanks.
Your code so far
// Setup
const recordCollection = {
2548: {
albumTitle: 'Slippery When Wet',
artist: 'Bon Jovi',
tracks: ['Let It Rock', 'You Give Love a Bad Name']
},
2468: {
albumTitle: '1999',
artist: 'Prince',
tracks: ['1999', 'Little Red Corvette']
},
1245: {
artist: 'Robert Palmer',
tracks: []
},
5439: {
albumTitle: 'ABBA Gold'
}
};
// Only change code below this line
function updateRecords(records, id, prop, value) {
if (!value){ //value is empty
delete records[id][prop]
}else{ //value is not an empty string
if (prop == "tracks"){
if (records[id].hasOwnProperty(prop)){
records[id][prop].push(value)
}else{
records[id][prop] = [value]
}
}else{
records[id][prop] = value
}
}
if (prop == "tracks" && !(records[id].hasOwnProperty("tracks"))){
records[id][prop] = [];
records[id][prop].push(value)
}
return records;
}
updateRecords(recordCollection, 5439, 'artist', 'ABBA');
**Your browser information:**
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.5005.61 Safari/537.36
Challenge: Record Collection
Link to the challenge: