About record collection under JS

Tell us what’s happening:
Describe your issue in detail here.
Can anyone kindly help, i have been stack under record collection for a while now, i have solved the given problem and reviewed it severally but it doesn’t seem to pass me for the next level.

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

updateRecords(recordCollection, 5439, 'artist', 'ABBA');
  **Your browser information:**

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

Challenge: Record Collection

Link to the challenge:

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

The error message is talking about your handling of tracks, so lets look there:

  } else if (prop === 'tracks' && records[id].hasOwnProperty(value)) {

What does this condition mean, in words?

Thanks JeremyLT, i finally figured the problem out.
You are right, under the condition of the the record having its own track, i was supposed to put records[id].hasOwnProperty(‘tracks’) and not (value).

1 Like