Record Collection -More Explanations

Hi coders,
There is someone who explains it, because I saw the solution, but I didn’t understand much.
Thanks!!!

Your code so far


// Setup
var collection = {
    "2548": {
      "album": "Slippery When Wet",
      "artist": "Bon Jovi",
      "tracks": [ 
        "Let It Rock", 
        "You Give Love a Bad Name" 
      ]
    },
    "2468": {
      "album": "1999",
      "artist": "Prince",
      "tracks": [ 
        "1999", 
        "Little Red Corvette" 
      ]
    },
    "1245": {
      "artist": "Robert Palmer",
      "tracks": [ ]
    },
    "5439": {
      "album": "ABBA Gold"
    }
};
// Keep a copy of the collection for tests
var collectionCopy = JSON.parse(JSON.stringify(collection));

// Only change code below this line
function updateRecords(id, prop, value) {
  if (prop === "tracks" && value !== "") {
   if(collection[id][prop]) {
    collection[id][prop].push(value);
   }
   else {
    collection[id][prop]=[value];
   }
  } else if (value !== "") {
    collection[id][prop] = value;
  } else {
    delete collection[id][prop];
  }

  return collection;
}

// Alter values below to test your code
updateRecords(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/73.0.3683.103 Safari/537.36.

Link to the challenge:
https://learn.freecodecamp.org/javascript-algorithms-and-data-structures/basic-javascript/record-collection

Hey fellow learner!

Which part exactly did you not understand?
Let’s start with what you understood or what you think you understood !

Hi @carquet, I don’t understand the logic :
if (prop === “tracks” && value !== “”) {
if(collection[id][prop]) {
collection[id][prop].push(value);
}
else {
collection[id][prop]=[value];
}
} else if (value !== “”) {
collection[id][prop] = value;
} else {
delete collection[id][prop];
}

return collection;
}

You got this solution from the Get a Hint link’s Basic Solution. The code is explained in that link below the solution. What specific part of the code explanation do you not understand?

Also, instead of posting the full working code in the future, just reference the solution in the Guide (the solution in the Get a Hint) link. We prefer not to have the forum filled with solutions to avoid campers accidentally seeing a solution when they just wanted some guidance.

Thank you.

If then statements are pretty straightforward. It’s like Randell said,. it would better to ask a specific part of code you’re stuck on. (ie. one or two lines of code).

Sorry again, I’m the one who can’t understand this solution and how to reach this solution. What are the steps to get there.
Maybe some basic JavaScript concept escapes me or I still don’t have the ability to reason and solve the problem.

Have you tried writing out an algorithm in pseudo-code yet? You need to try and write out your logical steps and validate they would actually solve the challenge by working through the test cases. Without an algorithm, you are going to struggle when it comes to writing out the code.

Feel free to post what you think the logic should be for this challenge. We can help guide you based on what you write.