Basic JavaScript - Record Collection

Tell us what’s happening:
Describe your issue in detail here.

Hi team.
I cannot successfully submit this code. I may have issues else in the code, but I have some issues with the last requirement:

" * If prop is tracks and value isn’t an empty string, you need to update the album’s tracks array. First, if the album does not have a tracks property, assign it an empty array. Then add the value as the last item in the album’s tracks array."
Your code so far

// Only change code below this line
function updateRecords(records, id, prop, value) {
  return records;
}
if (value === "") {
    delete records [id][prop];
  } else if (prop !== "tracks" && value !=="") {
    records[id][prop] = value;
  } else if(prop==="tracks" && value !==""){
if(!record[id].hasOwnProperty(prop)) // I have issues here
    records[id][prop]=[value];
else if(value!=="")
   records[id][prop].push(value);
  }
  // Return the full collection
  return records;
}
updateRecords(recordCollection, 5439, 'artist', 'ABBA');
// 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) {
  return records;
}
if (value === "") {
    delete records [id][prop];
  } else if (prop !== "tracks" && value !=="") {
    records[id][prop] = value;
  } else if(prop==="tracks" && value !==""){
if(!record[id].hasOwnProperty(prop))
    records[id][prop]=[value];
else if(value!=="")
   records[id][prop].push(value);
  }
  // Return the full collection
  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/116.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:
https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/record-collection`Preformatted text`

You have a typo, you wrote record instead of records on that line.

// Only change code below this line
function updateRecords(records, id, prop, value) {
  return records;
}
if (value === "") {
    delete record[id][prop];
  } else if (prop !== "tracks" && value !=="") {
    records[id][prop] = value;
  } else if(prop==="tracks" && value !==""){
if(!record[id].hasOwnProperty(prop))
    record[id][prop]=[value];
else if(value!=="")
   record[id][prop].push(value);
  }
  // Return the full collection
  return records;
}

Thank you for your reply. I remove s from record as you can see in my code above but I still have the same issue.

Why would you delete the s?

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