Tell us what’s happening:
Hi
#1
I can’t complete updateRecords(5439, “tracks”, “Take a Chance on Me”), while all other tests are done. I keep have problem with this line “collection[id][prop].push(value);”
#2
Is there any reason this section requires using bracket notation instead of dot? A lot of sites said they are the same. (except when the property has space in it, which is not the case in this section).
Thank you so much.
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
} else if (prop === "tracks"){
collection[id][prop].push(value);
} else if (prop === "tracks" && collection[id].hasOwnProperty(prop)==false){
collection[id][prop].push(value);
};
if (value == ""){
delete collection[id][prop]
};
return collection;
}
// Alter values below to test your code
updateRecords(1245, "Tracks", "Addicted to Love");
Your browser information:
User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.1 Safari/605.1.15
.
Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/record-collection/