Created
November 17, 2016 07:45
-
-
Save spences10/52270f32448d3e8334b6e04fea87d2df to your computer and use it in GitHub Desktop.
Record Collection created by spences10 - https://repl.it/E0hi/0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// 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 updateRecords(id, prop, value) { | |
if (prop !== "tracks" && value !== "") { | |
collection[id][prop] = value; | |
} else if (prop === "tracks" && value !== "") { | |
if (!collection[id].hasOwnProperty(prop)) { | |
collection[id][prop] = []; //Create a property with empty array | |
collection[id][prop].push(value); //Append a value into the array | |
} else { | |
collection[id][prop].push(value); //Append a value into the exist property array | |
} | |
} else if (value === "") { | |
delete collection[id][prop]; | |
} | |
return collection; | |
} | |
// Alter values below to test your code | |
console.log(updateRecords(5439, "artist", "ABBA")); | |
// console.log(collection); | |
// tests | |
// After updateRecords(5439, "artist", "ABBA"), artist should be "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 | |
// 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is my FCC solution to the Record Collection here: