Basic JavaScript - Record Collection

HI, I have two question about this code.

  1. Why can’t I use dot natation mix bracket notation[prop]=value instead of records[id][prop]=value

  2. Why "tracks" should be place double quote rather than type track without double quote? I’m confused about the rules.

Thank you for help. :smiley:

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 (prop!=="tracks" && value!==""){[prop]=value;
  }else if(prop==="tracks" && records[id].hasOwnProperty("tracks")===false){[prop]=[value];
  }else if(prop==="tracks" && value!==""){[prop].push(value); 
  }else if(value===""){
  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:

Do notation only works with the exact, literal property name, not a variable holding the property name.

You don’t use quotes if you want the value of a variable called tracks. Do you have one of those?

1 Like

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