Basic JavaScript - Record Collection

Tell us what’s happening:
Describe your issue in detail here.

Hi people, first question that I make here and honestly, first question I make in my short career as developer. I’m very shy and don’t trust in my english very well.

Anyways, can somebody tell me what’s wrong in this code:


function updateRecords(records, id, prop, value) {

if (value === “”) {
delete records[id][prop];
return records;
}

if (prop == “tracks”) {
if (!records[id].hasOwnProperty(prop)) {
records[id][prop] = value;
} else {
records[id][prop].push(value);
}
} else {
records[id][prop] = value;
}

return records;
}

Because I can’t find the difference between that answer and the “correct” answer provided by FCC. I do know that is wrong, but the thing is, I really can’t find the error, because I think it passes every test, I even checked it with some Logs.

Anyway, thank you very very much if you made it until here. Thanks for your patience

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

  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/107.0.0.0 Safari/537.36 OPR/93.0.0.0

Challenge: Basic JavaScript - Record Collection

Link to the challenge:

What’s happening here?

My idea was assign the value of “value” into the object property, inside ID, into the PROP key…did I approached it wrong?

You are dealing with “tracks” though. What sort of data structure is stored into the tracks property?

I was sending the response when I saw this! I’m dumb, I was assigning a string, I needed to create an empty array and then push it into that new array…right?

1 Like

Keeping track of what type every piece of data is can be a lot to learn, especially in JavaScript.

1 Like

That is true, in JS you need to be twice as carefull when using types and variables. Thank you so much Jeremy!

I actually didn’t believed that I would get an answer, even less have this mini chat :laughing: thank you so much

1 Like