Basic JavaScript - Record Collection

Tell us what’s happening:
Describe your issue in detail here.
Hello, i’ve got a minor error?
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 !== '') {
  object[id][prop] = value;
 } else if (prop === 'track' && object[id].hasOwnProperty) {
   object[id][prop] = value;
 } else if (prop === 'tracks' && value !== '') {
  object[id][prop].push(value);
} else if (value === '') {
  delete object[id][prop];
}
 return object;
}

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/105.0.0.0 Safari/537.36 OPR/91.0.4516.72

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

So, even before going into everything there is a big issue. When I post your code into the challenge I get the error ReferenceError: object is not defined. This is obviously because object is not defined. Why do you think it is saying that object is not defined?

I get it. my code is still failing unfortunally with " After

updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me") , tracks should have the string Take a Chance on Me as the last and only element."

 function updateRecords(object, id, prop, value) {
  if (prop !== 'tracks' && value !== '') {
  object[id][prop] = value;
 } else if (prop === 'track' && object[id].hasOwnProperty) {
   object[id][prop] = value;
 } else if (prop === 'tracks' && value !== '') {
  object[id][prop].push(value);
} else if (value === '') {
  delete object[id][prop];
}
 return object;
}


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

Why are you calling this object? That is a bad name.

This is not how you call this method

This doesn’t create an array.

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