Skip to content

Instantly share code, notes, and snippets.

@Edwardtonnn
Created October 2, 2018 13:44
Show Gist options
  • Save Edwardtonnn/6fc0cf948c52d1fcf0c8a9b3a763e6cf to your computer and use it in GitHub Desktop.
Save Edwardtonnn/6fc0cf948c52d1fcf0c8a9b3a763e6cf to your computer and use it in GitHub Desktop.
update records
// 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));
console.log(collectionCopy);
// Only change code below this line
function updateRecords(id, prop, value) {
if(collection[id][prop][value] == 0){
collection = delete collection[id][prop];
return collection
}
// Update collection
else{
collection[id][prop] = value;
console.log(collection);
return collection;
}
}
// Alter values below to test your code
updateRecords (5439, 'artist', 'ABBA');
// After
updateRecords(5439, "tracks", "Take a Chance on Me")
// , tracks should have "Take a Chance on Me" as the last element.
// After updateRecords(2548, "artist", ""), artist should not be set
updateRecords(2548, "artist", "")
// After updateRecords(1245, "tracks", "Addicted to Love"), tracks should have "Addicted to Love" as the last element.
// After updateRecords(2468, "tracks", "Free"), tracks should have "1999" as the first element.
// After updateRecords(2548, "tracks", ""), tracks should not be set
// After updateRecords(1245, "album", "Riptide"), album should be "Riptide"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment