首页 > 解决方案 > 解构赋值以将对象作为函数的参数传递

问题描述

我正在 freeCodeCamp 上学习 Javascript,我遇到了通过重组分配将对象作为函数参数传递

我被要求

“在函数 half 的参数中使用解构赋值,仅在函数内部发送 max 和 min。”

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 = ({ max, min }) => (max + min) / 2.0; 
// Only change code above this line

//该解决方案对我来说没有意义,因为它甚至没有提到统计数据。它是如何工作的?有人可以解释一下吗。先感谢您。

标签: javascriptobject-destructuring

解决方案


当然该函数没有stats明确提及-该函数无法知道可能传递给它的变量的名称

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;

console.log(half(stats));

您的函数的签名({ max, min })如下所示:

从传递给此函数的任何(第一个)参数中,假设它是一个具有maxmin属性的对象。将它们作为函数体内的局部变量以它们的名称提供。


推荐阅读