Problems with the first element

Tell us what’s happening:
Hi, i struggle for hours with this challenge and now i only have one problem, it seems that my code doesn’t work when i need something as the first element, can someone help me?

Your code so far


// Setup
var collection = {
2548: {
  albumTitle: 'Slippery When Wet',
  artist: 'Bon Jovi',
  tracks: ['Let It Rock', 'You Give Love a Bad Name']
},
2468: {
  albumTitle: '1999',
  artist: 'Prince',
  tracks: ['1999', 'Little Red Corvette']
},
1245: {
  artist: 'Robert Palmer',
  tracks: []
},
5439: {
  albumTitle: 'ABBA Gold'
}
};

// Only change code below this line
function updateRecords(object, id, prop, value) {
if(value == ""){
  delete object[id][prop];
}else if(prop != "tracks"){
    object[id][prop] = value;
}else if(object.hasOwnProperty("tracks")){
    object[id].tracks.push(value);
}else{
  object[id][prop] = [];
  object[id].tracks.push(value);
}
return object;
}

updateRecords(collection, 5439, 'artist', 'ABBA');

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0.

Challenge: Record Collection

Link to the challenge:

Hello and welcome to the freeCodeCamp community~!

Your bug is in this statement. What is object? And what properties does object have? :slightly_smiling_face:

I have to put the id and prop indexes?

Close~! id is correct. How would you add that in to this statement?

object[id].hasOwnProperty(“tracks”);
man, i was losing my mind for 2 hours,thank you from the bottom of my heart
you save my day.

1 Like

Glad to help! Happy coding! :sunglasses:

1 Like