Build a Record Collection - Build a Record Collection

Tell us what’s happening:

I don’t know what is wrong. Please help me seniors.
None of the tests are working..

Your code so far

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'
  }
};

function updateRecords(records, id, prop, value){
  if (value == "") {
    delete records.id.prop
  } else if (value !== "" && prop !== tracks){
    records.id.prop = value;
  } else if (prop == 'tracks' && value != ""){
    if (tracks in records.id == true){
      records.id.prop.push(value);
    } else {
      const tracks = [];
      records.id.tracks = value;
    }
  }
  console.log(records);
  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/141.0.0.0 Safari/537.36

Challenge Information:

Build a Record Collection - Build a Record Collection

what error are you getting?

also look into “dynamic key-value” lookup in a js object, they need to be accessed in a special syntax

happy coding :slight_smile:

I am getting a

TypeError: Cannot set properties of undefined (setting 'prop')

When I use brackets instead of dot it is working but I want to understand why that is happening. Can you tell me why that is happening.

does records have a property literally named id?

No, I doesn’t. I don’t understand ?

you should look at the topic suggested above

how do you use a variable to access an object?

You use brackets

[ ]

so can you put this info and records and id together?

Do you mean i have to write

records[id]

?

have you tried to see if it works?