Question about Record Collection challange

Tell us what’s happening:
Describe your issue in detail here.
Why do I have to add square brackets to make this code work? (eg: records[id][prop] = [value]; at below)
If I take square brackets away, it cannot fulfill the " After updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me") , tracks should have the string Take a Chance on Me as the last element." requirement.

Why?

// 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 (prop !== 'tracks' && value !== "") {

    records[id][prop] = value;

  } else if (prop === "tracks" && records[id].hasOwnProperty("tracks") === false) {

    records[id][prop] = **[value];**

  } else if (prop === "tracks" && value !== "") {

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

  } else if (value === "") {

    delete records[id][prop];

  }

  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/90.0.4430.93 Safari/537.36.

Challenge: Record Collection

Link to the challenge:

the tracks property should always be an array, if you write

records[id][prop] = value

then that means that the tracks property is not an array, and so the test fail

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