Record Collection Algorithm

I just finished this challenge, I had a long time trying to solve it and I finally did. However I just want to know if there is anything weird about my solution; I comapred it with the one given by the camperbot and is kind of similar, but I want to know why my code works even though is not what camperbot proposes.
I would appreciate, thanks in adavance.

   **Your code so far**

// 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].tracks == undefined){
   records[id].tracks = [value];  
 }else if (prop == 'tracks' && value != ''){
   records[id].tracks.push(value); 
 }else if (value == '') {
   delete records[id][prop];
 }
// console.log(records[id])
 return records;
}

updateRecords(recordCollection, 1245, 'albumTitle', 'Riptide');


   **Your browser information:**

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.61 Safari/537.36

Challenge: Record Collection

Link to the challenge:

1 Like

because there is never only one right answer

there is something in particular you have doubts about?

1 Like
  1. Initially I was using dot notation but it didn’t worked, until I just changed to bracket notation even though I was doing the call to the same object property.

  2. Camperbot proposes to use"hasOwnProperty" to check before pushing the array, which I didn’t, I think I’m not too clear on what does this method does.

Thanks.

From this challenge: https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/accessing-object-properties-with-dot-notation

Dot notation is what you use when you know the name of the property you’re trying to access ahead of time.

You don’t know the name of the property ahead of time in this challenge.


When in doubt about methods, I like to look them up on MDN:

1 Like

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