--- id: 587d7b8a367417b2b2512b4d title: Use Destructuring Assignment to Pass an Object as a Function's Parameters challengeType: 1 videoUrl: '' localeTitle: Назначение Destructuring для передачи объекта в качестве параметра функции --- ## Description
В некоторых случаях вы можете разрушить объект в самом аргументе функции. Рассмотрим следующий код:
const profileUpdate = (profileData) => {
const {name, age, nationality, location} = profileData;
// делаем что-то с этими переменными
}
Это эффективно разрушает объект, отправленный в функцию. Это также можно сделать на месте:
const profileUpdate = ({имя, возраст, национальность, местоположение}) => {
/ * что-то делать с этими полями * /
}
Это устраняет некоторые дополнительные строки и делает наш код удобным. Это имеет дополнительное преимущество: не нужно манипулировать целым объектом в функции; только нужные поля копируются внутри функции.
## Instructions undefined ## Tests
```yml tests: - text: '' testString: 'assert(typeof stats === "object", "stats should be an object.");' - text: '' testString: 'assert(half(stats) === 28.015, "half(stats) should be 28.015");' - text: '' testString: 'getUserInput => assert(getUserInput("index").match(/\(\s*\{\s*\w+\s*,\s*\w+\s*\}\s*\)/g), "Destructuring was used.");' ```
## Challenge Seed
```js const stats = { max: 56.78, standard_deviation: 4.34, median: 34.54, mode: 23.87, min: -0.75, average: 35.85 }; const half = (function() { "use strict"; // do not change this line // change code below this line return function half(stats) { // use function argument destructuring return (stats.max + stats.min) / 2.0; }; // change code above this line })(); console.log(stats); // should be object console.log(half(stats)); // should be 28.015 ```
## Solution
```js // solution required ```