Basic JavaScript - Record Collection

Tell us what’s happening:
Why is this failing the first test? " Failed:After updateRecords(recordCollection, 5439, "artist", "ABBA"), artist should be the string ABBA"

And the console returns:

// console output
{ ‘1245’: { artist: ‘Robert Palmer’, tracks: },
‘2468’:
{ albumTitle: ‘1999’,
artist: ‘Prince’,
tracks: [ ‘1999’, ‘Little Red Corvette’ ] },
‘2548’:
{ albumTitle: ‘Slippery When Wet’,
artist: ‘Bon Jovi’,
tracks: [ ‘Let It Rock’, ‘You Give Love a Bad Name’ ] },
‘5439’: { albumTitle: ‘ABBA Gold’ },
artist: ‘ABBA’ }

Your code so far
function updateRecords(records, id, prop, value) {
if (value === “”) {
delete records.id[prop];
} else if (prop !== “tracks” && value !== “”) {
records[“artist”] = value;
} else if (prop === “tracks” && value !== “” && !records.hasOwnProperty(“tracks”)) {
records[“artist”] = value;
}
return records;
}

// 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["artist"] = value;
  } else if (prop === "tracks" && value !== "" && !records.hasOwnProperty("tracks")) {
    records["artist"] = value;
  }
  return records;
}

console.log(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/114.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

{ '1245': { artist: 'Robert Palmer', tracks: [] },
  '2468': 
   { albumTitle: '1999',
     artist: 'Prince',
     tracks: [ '1999', 'Little Red Corvette' ] },
  '2548': 
   { albumTitle: 'Slippery When Wet',
     artist: 'Bon Jovi',
     tracks: [ 'Let It Rock', 'You Give Love a Bad Name' ] },
  '5439': { albumTitle: 'ABBA Gold' },
  artist: 'ABBA' }

Take a closer look at the structure of resulting object. There’s few keys with the id, containing objects with record details, but at the end there’s artist key, with ABBA value. That doesn’t seem to be right.

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