Basic JavaScript - Record Collection

Tell us what’s happening:
Describe your issue in detail here.
I don’t understand where the “records” is coming from.

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) {
  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/110.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

I dont understand the solution, nor the explanations coming with it.

function updateRecords(records, id, prop, value) {
if (prop !== “tracks” && value !== “”) {
records[id][prop] = value;
} else if (prop === “tracks” && value !== “” && 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;
}

No i did not i am stuck

I am not able to solve it at all. I don’t understand why put value !== “” for * If prop is tracks but the album doesn’t have a tracks property, create an empty array and add value to it.

You can delete this post, I’ll get answers from elsewhere. Thanks Randell!

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