Basic JavaScript - Record Collection

Tell us what’s happening:
Idk if the code is fully functioning yet probably not.
Why does the records.id[prop] not work compared to records[id][prop]

do numbers have to be in the as well?

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

updateRecords(recordCollection, 5439, 'artist', 'ABBA');


console.log(recordCollection[5439])

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

Yes, you need to use records[id] instead of records.id in the updateRecords() function because the id parameter is a variable that represents the specific record in the records object that you want to update.

Using records.id would look for a property named “id” in the records object, which does not exist. Instead, you need to use the id variable to access the specific record you want to update, which is represented as a property of the records object. I hope this helps

2 Likes

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