Delete empty prop

Tell us what’s happening:
'This solution does not delete empty property? why is that?

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

return collection;
}

console.log(collection[1245]);
// Alter values below to test your code
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/78.0.3904.97 Safari/537.36.

Challenge: Record Collection

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

Your code passed for me.
What errors are you getting?

this code should delete an empty property like in task, but it don’t.
try this:
console.log(collection[1245]);
the result show an empty property in this array

Console.log only shows the content not makes any change in the collection.

To remove tracks for 1245 item you must write

updateRecords(1245, ”tracks”, ””);

Then you can see the result with console.log(collection[1245]);

1 Like