Record Collection -help with deleting the prop

Tell us what’s happening:

I’ve passed all tests but the deleting doesn’t work. Help please.

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"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function updateRecords(id, prop, value) {
  if(prop !== "tracks" && value !== null){
    collection[id][prop] = value;

  } else if(prop === "tracks" && collection[id][prop] == null){
    collection[id][prop] = [];
    collection[id][prop].push(value); 
  
  } else if(prop === "tracks" && value !== null){
    collection[id][prop].push(value);
  
  } else if(value === null){
    delete collection[id][prop];
  }
  
  return collection;
}

// 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/66.0.3359.181 Safari/537.36.

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

Checking if the value equals null is not the same as checking if the value equals an empty string.

See what happens when you actually compare the value with an empty string instead of null.

1 Like

@thomkhakai is right, check in the console if null === “”, you will have your answer. @avneesh