I don't why it is bringing this error

Tell us what’s happening:
Describe your issue in detail here.
This is the errror: After updateRecords(recordCollection, 2468, “tracks”, “Free”), tracks should have the string 1999 as the first element.

updateRecords(recordCollection, 2468, "tracks", "Free")

,

tracks

should have the string

1999

as the first element.

  **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') {
    records[id][prop] = value;
  } else {
    if (records.hasOwnProperty('tracks') == false) {
      records[id].tracks = [];
      records[id].tracks.push(value);
    } else {
      records[id][prop].push(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/96.0.4664.45 Safari/537.36

Challenge: Record Collection

Link to the challenge:

The bug is in this conditional.

Does records ever have a tracks property?

Just in case you don’t know how to debug. Copy paste all the specs from the left column to the bottom of your coding page. Delete or comment out the unnecessary, and console.log. Like this:

console.log(updateRecords(recordCollection, 2468, "tracks", "Free"))//, tracks should have the string 1999 as the first element.

So it’s easy to see what’s wrong with the function.

Ohh true, I’ve seen the mistake; It should be records[id] instead.

Thank you so much.

Thanks for the hint man.

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