Basic JavaScript - Record Collection

Tell us what’s happening:
Im having problem with this exercise, im since yesterday trying to figure out, feeliing stupid already haha, can someone give me a tip what im doing wrong? its even testing the code.

Your code so far

// Setup
const recordCollection = {
  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(records, id, prop, value) {
  if (value === ""){
    delete records[id][prop];
  else if (prop !== "tracks" && value !== ""){
    records[id][prop] = value;
  else if (prop === "tracks" && value !== ""){
    records[id][prop] = value;
  else if (records[id].hasOwnProperty("tracks") == false){

  return records;

updateRecords(recordCollection, 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/ Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

This is not handling the tracks cases correctly.

If the tracks array does exist, then you push the value to the end of the array.

If the tracks case doesn’t exist, then you need to make an array.

At the moment, you are always pushing to the end of the array since if else statements are executed in order.

why this isnt correct?

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