Basic JavaScript - Record Collection

Tell us what’s happening:
This one project is massively difficult. I guess the first thing thats really confusing me is what all the different parameters are in the parenthesis. It has records, id, prop and value. So when i start coding, do i need to set up steps for all 4 of them? i.e. should i have one else if chain that checks props, another one that checks id’s, another one that checks values and so on?

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) {
  let records = "";
     

  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/111.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

When you’re writing the function, you don’t need to set up separate chains of conditionals for each parameter.

  • If prop isn’t tracks and value isn’t an empty string, update or set that album’s prop to value.
  • If prop is tracks but the album doesn’t have a tracks property, create an empty array and add value to it.
  • If prop is tracks and value isn’t an empty string, add value to the end of the album’s existing tracks array.
  • If value is an empty string, delete the given prop property from the album.

this is the logic

if (prop !== "tracks" && value !== "") {
    records[id][prop] = value;
  }

this is the first one:

  • If prop isn’t tracks and value isn’t an empty string, update or set that album’s prop to value.

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