Record Collection JavaScript

My code executed and passed all the test cases except for one i.e. :
After updateRecords(2468, "tracks", "Free") , tracks should have "1999" as the first element.

Is this correct that after this method call tracks should have β€œ1999” as first element?

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];
}
else if(prop==="tracks"){
if(collection.hasOwnProperty("tracks")==false){
collection[id][prop]=[];
}
collection[id][prop].push(value);
}
else{
collection[id][prop]=value;
}





return collection;
}

updateRecords(5439, "artist", "ABBA");

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.135 Safari/537.36.

Challenge: Record Collection

Link to the challenge:

are you sure that tracks could be a property of collection?

1 Like

Oh yes I just realized that it should rather be collection[id].hasOwnProperty(β€œtracks”);

Thanks!