Tell us what’s happening:
Hello,
I am trying to solve “Record Collection” but keep failing the second test (all others pass):
After
updateRecords(5439, "tracks", "Take a Chance on Me")
,tracks
should have"Take a Chance on Me"
as the last element.
I get this message in the console:
collection[id][prop] is undefined
Tried to debug it by stepping through with dev tools, but could quite figure out what is undefined at which time, or how to fix it…
Any help is highly appreciated.
Your code so far
// 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;
}
if (prop === "tracks" && value !== "") {
collection[id][prop].push(value);
}
if (value === "") {
delete collection[id][prop];
}
return collection;
}
// Alter values below to test your code
// updateRecords(5439, "tracks", "Take a Chance on Me");
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:63.0) Gecko/20100101 Firefox/63.0
.
Link to the challenge: