Basic JavaScript - Record Collection

Tell us what’s happening:
Describe your issue in detail here.
To be honest, I am quite lost with the last rule. My strat for javascript has been to follow along with some youtube guidance as well as looking through forums if I’m stuck, and there seems to have been a slight switch in curriculum where I can’t find a single thing explaining the last rule. I’ve tried a few things but really just need some guidance!

This is the last rule:

  • If the album doesn’t have a “tracks” property, create a new array for the album’s "tracks"property before adding the value` to it.

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 (record[id].hasOwnProperty("tracks") == false){records[id][prop].push[value]
  }

  return records;
}

updateRecords(recordCollection, 5439, 'artist', 'ABBA');

Your browser information:

User Agent is: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

Here you are assuming that the array exists. The last point says that you need to create the tracks array before pushing if it doesn’t exist

Are you saying I need to rearrange the statements?

Read both statements together.

  • If prop is "tracks" and value isn’t an empty string, add the value to the end of the album’s existing "tracks" array.
  • If the album doesn’t have a "tracks" property, create a new array for the album’s "tracks" property before adding the value to it.

You cannot possibly push to an array that doesn’t exist, so you need create a new array for the album’s "tracks" property before adding the value to it if the array doesn’t exist.

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