Basic JavaScript - Record Collection

i cant seems to figure out what is my problem please any idea

// 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
const id = 5439;
const prop = "artist";
const value = "ABBA"
function updateRecords(records, id, prop, value) {
  const updatedRecords = {
    recordCollection, 
      5439
     "artist",
      "ABBA",
  };
    if (value == ""){
      delete updateRecords[id][prop];
    } else if (prop != "tracks") {
        updateRecords[id][prop] = value;
    } else {
      if (!updateRecords[id].hasOwnProperty("tracks")){
        updateRecords[id].tracks = [];
      }
      updateRecords[id].tracks.push(valus);
    }
  return updatedRecords;
}

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

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

The main issue is that you are trying to use updateRecords (throughout your code) as an object when it is a function. You should be using the records parameter to access the object.

1 Like

thank you for the solution. it works

i tried re coding this challenge but the track one does not seems to be working please what is the issue

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

  return records;
}

console.log(updateRecords(recordCollection, 5439, "tracks", "Take a Chance on Me"))
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/114.0.0.0 Safari/537.36

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

the problem is i should have done this soon

        records[id][prop] = records[id][prop] || [];
        
       records[id].tracks.push(value);
      }

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