Tell us what’s happening:
I can’t tell what’s wrong with my code. I crosschecked it with the solution in the Get Help section but can’t tell whats wrong since it looks similar.
Plz help.
Also I just coded based on the conditions it wants me to satisfy but I don’t know what it actually does to the the entire code . So if possible plz explain. I will be grateful.
Your code so far
// Setup
var collection = {
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(object, id, prop, value) {
if(prop !== "tracks" && value === ""){
collection[id][prop] = value;
}else if(prop === "tracks" && !collection[id].hasOwnProperty("tracks")){
collection[id][prop]= [value];
}else if(prop === "tracks" && value !== ""){
collection[id][prop].push(value);
}else if (value === ""){
delete collection[id][prop];
}
return object;
}
updateRecords(collection, 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/87.0.4280.66 Safari/537.36.
You probably don’t understand because between your comment and the previous person’s comment are literally 10 seconds. Maybe you should invest more time to understand the post.
The solution uses object in each if/else.
Your code uses collection.
Do you think there is no difference between these two things? Why do we have both if there would be no difference?
let records = {
23: {
tracks: ["Happy Birthday"]
}
}
updateRecords(records, 23, "tracks", "Jingle Bells");
console.log(records); // has this been changed?