Skip to content

Instantly share code, notes, and snippets.

@death667b
Created February 26, 2016 07:06
Show Gist options
  • Save death667b/f5ef11bbcd07a726183f to your computer and use it in GitHub Desktop.
Save death667b/f5ef11bbcd07a726183f to your computer and use it in GitHub Desktop.
FreeCodeCamp question
// 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));
// Only change code below this line
function update(id, prop, value) {
// you could potentially decompose conditional, depending on usage frequency
// http://refactoring.com/catalog/decomposeConditional.html
if (prop === "tracks" && value !== "") {
collection[id][prop].push(value);
} else if (value !== ""){
collection[id][prop] = [value];
} else {
delete collection[id][prop];
}
return collection;
}
// Alter values below to test your code
update(5439, "tracks", "returns error");
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment