Basic JavaScript - Record Collection error

Tell us what’s happening:
Describe your issue in detail here.
Hi! I’ve been working on the record collection problem and I think I’ve almost found a solution but it fails the 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." condition and I’m not sure how to troubleshoot it, it passes all of the other ones.

When I input 'updateRecords(recordCollection, 5439, “tracks”, “Take a Chance on Me”)" into console.log it returns the error " TypeError: records[id][prop] is undefined"

I believe that it’s referring to the portion of the code that i have emboldened but I’m stuck on how to troubleshoot it.

Any insight would be greatly appreciated!

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


Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/116.0

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

You are pretty close.

  1. You need to swap the order of your 3rd and 4th if-else condition. Even though the condition is 4th one, but accidentally executing 3rd condition, thus you having error of undefined property to push, as there is no “tracks” key inside your 5439 yet.

  2. Then you need to make “tracks” key of 5439 having the value in array type.
    like this .
    tracks: ["Take a Chance on Me"]

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