Record Collection jmb

I didn’t understand a word in that one .

At first : id is not declared as id anywhere, where from does it knows that this 4 digits number is the id ?
Next : prop, the same, out of the blue

The only variable in here is “collection”, I’m lost.

Someone kind enough to explain in English ?

  **Your code so far**

// Setup
var collection = {
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(object, id, prop, value) {
if (prop !== "tracks" && value !== "") {
  object.id[prop] = value ;  }
  else if (prop === "tracks" && object[id].hasOwnProperty "tracks" === false) {
  object.id[prop] = [value] ; }
  else if ()
return object;
}

updateRecords(collection, 5439, 'artist', 'ABBA');
  **Your browser information:**

User Agent is: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36.

Challenge: Record Collection

Link to the challenge:

Hi there!

function updateRecords(object, id, prop, value) {}

This is a function signature.
It has 4 parameters: object, id, prop, value

So when you run it, e.g. by

updateRecords(collection, 5439, 'artist', 'ABBA');

you send some arguments to it: collection, 5439, 'artist', 'ABBA'.

In this order, the arguments get assigned to the parameters.

The 1st parameter object now holds collection (collection is in itself a variable that holds values)
The 2nd parameter id now holds 5439. (the number 5439)
The 3rd parameter prop now holds 'artist'. (the string artist)
The 4th parameter value now holds 'ABBA'. (the string ABBA)

In the function, you now can use this values with their parameter names.

1 Like

Never heard of this concept before. Thanks for your time, appreciated.

Jean-Maurice

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