Basic JavaScript - Record Collection

Describe your issue in detail here.
So I have attempted this challenge just for fun. However, my code doesn’t seem to work even though it passes all tests when I run it in my browser (Chrome). The code is rather simple, just a series of if and else if statements. Is there any problem with my code or with the challenge itself? Feel free to ask me any information related to this problem.

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) {
const copied = {...recordCollection};
if(prop !=='tracks' && value!=='') {
copied[id][prop]=value;
}
else if(prop ==='tracks'&&!( prop in copied[id])) {
copied[id]['tracks']=[value];
}
else if (prop ==='tracks'&&value!=='') {
copied[id][prop].push(value);
}
else if(value ==='') {
delete copied[id][prop];
}
return copied;
}
updateRecords(recordCollection, 2548, "tracks", "")

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

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

This line is a problem. There are two issues here.

1 Like

I cannot see the problem; can you point them out for me? Thank you!

Complete the function using the rules below to modify the object passed to the function.

  1. You should not reference the global object, especially while ignoring a function argument

  2. The instructions told you to modify the function argument, not make a copy

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