Record Collection third element

Tell us what’s happening:

I’m having trouble with the third item of the challenge which is as follows
" After updateRecords(5439, "tracks", "Take a Chance on Me") , tracks should have "Take a Chance on Me" as the last element.",

even though I’ve added this line:

if(!collection[id].hasOwnProperty(‘tracks’)) collection.tracks = ;
collection[id].tracks.push(value);

the compiler couldn’t recognize the push value and so it doesn’t execute the code. I couldn’t think any other alternative for this, any ideas comes from you can be useful. Thank you.

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"
}
};

// Only change code below this line


function updateRecords(id, prop, value) {

if(!value){
  delete collection[id][prop];
  return collection; 
}
if(prop !== 'tracks' && value !== '') {
collection[id][prop] = value;
} else{
if(!collection[id].hasOwnProperty('tracks')) collection.tracks = [];
collection[id].tracks.push(value);

}

return collection;
}

// Alter values below to test your code
console.log(updateRecords(5439, "tracks", "Take a Chance on Me"));

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36.

Challenge: Record Collection

Link to the challenge:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection

collection.tracks = [];

This line is the problem. Do you really want to add a “tracks” property to the collection object?

Edit: I guess I was just misreading it because of the formatting.

You are adding an array to the collection object and not the individual objects based on the id, and then trying to push to a non-existing array.