You start with an updateRecords function that takes an object like collection , an id , a prop (like artist or tracks ), and a value . Complete the function using the rules below to modify the object passed to the function.
Your function must always return the entire object.
If prop isn’t tracks and value isn’t an empty string, update or set that album’s prop to value .
If prop is tracks but the album doesn’t have a tracks property, create an empty array and add value to it.
If prop is tracks and value isn’t an empty string, add value to the end of the album’s existing tracks array.
If value is an empty string, delete the given prop property from the album.
Note: A copy of the collection object is used for the tests.
// 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) {
return object;
}
updateRecords(collection, 5439, 'artist', 'ABBA');
This question comes up a lot in the forum so the moderators are familiar with it but you haven’t written anything in the function so we don’t know how to assist you aside from giving you the answer which we don’t do . I would suggest breaking up this problem into bite size pieces and tackling one if statement at a time. Then if you have a question about a particular condition than we can guide you from there.
I’ve edited your post for readability. When you enter a code block into a forum post, please precede it with a separate line of three backticks and follow it with a separate line of three backticks to make it easier to read.
You can also use the “preformatted text” tool in the editor (</>) to add backticks around text.