* Clarify how object names are associated with destructured fields * fix: make description more concise * Update curriculum/challenges/english/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-pass-an-object-as-a-functions-parameters.english.md Co-authored-by: moT01 <20648924+moT01@users.noreply.github.com> Co-authored-by: Manish Giri <manish.giri.me@gmail.com>
2.1 KiB
2.1 KiB
id, title, challengeType, isHidden, forumTopicId
id | title | challengeType | isHidden | forumTopicId |
---|---|---|---|---|
587d7b8a367417b2b2512b4d | Use Destructuring Assignment to Pass an Object as a Function's Parameters | 1 | false | 301217 |
Description
const profileUpdate = (profileData) => {
const { name, age, nationality, location } = profileData;
// do something with these variables
}
This effectively destructures the object sent into the function. This can also be done in-place:
const profileUpdate = ({ name, age, nationality, location }) => {
/* do something with these fields */
}
When profileData
is passed to the above function, the values are destructured from the function parameter for use within the function.
Instructions
half
to send only max
and min
inside the function.
Tests
tests:
- text: <code>stats</code> should be an <code>object</code>.
testString: assert(typeof stats === 'object');
- text: <code>half(stats)</code> should be <code>28.015</code>
testString: assert(half(stats) === 28.015);
- text: Destructuring should be used.
testString: assert(code.replace(/\s/g, '').match(/half=\({\w+,\w+}\)/));
- text: Destructured parameter should be used.
testString: assert(!code.match(/stats\.max|stats\.min/));
Challenge Seed
const stats = {
max: 56.78,
standard_deviation: 4.34,
median: 34.54,
mode: 23.87,
min: -0.75,
average: 35.85
};
// Only change code below this line
const half = (stats) => (stats.max + stats.min) / 2.0;
// Only change code above this line
Solution
const stats = {
max: 56.78,
standard_deviation: 4.34,
median: 34.54,
mode: 23.87,
min: -0.75,
average: 35.85
};
const half = ( {max, min} ) => (max + min) / 2.0;