RecordCollection passing 4/7 requirements

Tell us what’s happening:
Describe your issue in detail here.
Passed - After updateRecords(recordCollection, 5439, "artist", "ABBA") , artist should be the string ABBA

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

Passed - After updateRecords(recordCollection, 2548, "artist", "") , artist should not be set

DidNotPass - After updateRecords(recordCollection, 1245, "tracks", "Addicted to Love") , tracks should have the string Addicted to Love as the last element.

DidNotPass - After updateRecords(recordCollection, 2468, "tracks", "Free") , tracks should have the string 1999 as the first element.

Passed - After updateRecords(recordCollection, 2548, "tracks", "") , tracks should not be set

Passed - After updateRecords(recordCollection, 1245, "albumTitle", "Riptide") , albumTitle should be the string Riptide

  **Your code so far**

// Setup
var 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] = collection[id][prop] || [];
  records[id][prop].push(value);
} else {
  records[id][prop] = value;
}

return records;
}

console.log(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/91.0.4472.114 Safari/537.36

Challenge: Record Collection

Link to the challenge:

Hello there.

Do you have a question?

If so, please edit your post to include it in the Tell us what’s happening section.

Learning to describe problems is an important part of learning how to code.

Also, the more information you give us, the more likely we are to be able to help.

Probably this code you found is the problem.

Sorry about that! – its been updated!

From what I think, it may be an issue with the push() method. Where I haven’t been able to pass the remaining 3 points.

what’s your code now?

This is my current code

function updateRecords(records, id, prop, value) {

if (value === “”)

delete records[id][prop];

else if (prop === "tracks") {

records[id][prop] = collection[id][prop] || [];

records[id][prop].push(value);

} else {

records[id][prop] = value;

}

return records;

}

console.log(updateRecords(recordCollection, 5439, ‘tracks’, ‘Take a Chance on Me’));

Returns in the console:
ReferenceError: collection is not defined

This code you found somewhere is still probably your problem.

Thanks! I don’t know how I overlooked it!

I was following along a YT video where they were “Keeping a copy of the collection for tests” with

var collectionCopy = JSON.parse(JSON.stringify(collection));

and thats probaby where I had got confused – have not gotten to JSON yet.

Thanks again, t’was getting frustrating lol :sweat_smile:

careful with tutorials, the curriculum is aways changing in small ways, if you don’t understand the topics you will be easily lost

1 Like

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