Record challenge code not running

Tell us what’s happening:
Please what’s wrong with my code?
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 (prop !== "tracks" && value !== " ") {
  object[id][prop] = value;
}
else if (prop === "tracks" && object[id].hasOwnProperty("tracks") === false) {
  object[id][tracks] = value;
}
else if (prop === "tracks" && value !== "") {
  object[id][tracks].push(value);
}
else if (value === "") {
  delete object[id][prop];
}
return object;
}

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

User Agent is: Mozilla/5.0 (Linux; Android 4.4.2; ECHO) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.99 Safari/537.36.

Challenge: Record Collection

Link to the challenge:

Change

if (prop !== "tracks" && value !== " ") {
  object[id][prop] = value;
}

The value !== " " should be value !== ""

Next change

  object[id][tracks] = value;

to

  object[id]["tracks"] = [value];

The “tracks” property needs to be created as an array. Also tracks is not a variable so we use a literal string.

Lets try testing this condition first:

else if (value === "") {
  delete object[id][prop];
}

Another option is to rework your logic.

The line below also has to be changed:

else if (prop === "tracks" && value !== "") {
  object[id][tracks].push(value);
}

The [tracks] should be ["tracks"]

Just a few simple mistakes. Happens all the time. Placing console.log() throughout the program as you make it allows you to catch errors early on.

Thank you. this was very helpful.

Your very welcome. Glad I could help!

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