Record Collection Task Falsely Failing

Tell us what’s happening:
Describe your issue in detail here.

I have worked this issue out a few times and even when I am pretty confident that it is flawless, the tests fail. After a while I got fed up and opened the console, I copy and pasted my entire solution and the tests in the sidebar, it worked flawlessly in the console. It doesn’t work in the site though.

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

updateRecords(collection, 5439, 'artist', 'ABBA');
  **Your browser information:**

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

Challenge: Record Collection

Link to the challenge:

What errors are you seeing when it fails??

And yes, Ive just run through all the tests in codepen, and I can’t immediately see why that fails either - But I’m far from being an expert here!

Ahhh… yes I can… I think…

Have a look at your ifs … you may need an And in there

I think that’s a starting point

Read the requirements again.

Your function must always return the entire object.

Hi, the first requirement of the challenge reads:

Your function must always return the entire object.

There is no return statement in your function yet.

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.