繁体   English   中英

破坏嵌套的 object

[英]Destructing nested object

我想使用 object 破坏来简化我的代码。 我正在从服务器获取数据,解析为 object:

data = {
  current: {
     humidity: 73
  }
}

最终的 function 应该看起来像这样,但这不起作用:

extractData({data.current.humidity: humidity  }) {
            return { humidity };
        }

extractData(data);

这种object怎么办?

解构模式就像 object 文字,所以你不使用点,你使用嵌套(同样,引用 object [ data ] 的变量的名称不相关):

// (I assume this is a method in a class; otherwise, add `function`)
extractData({current: {humidity}}) {
    return { humidity };
}

现场示例:

 function extractData({current: {humidity}}) { return { humidity }; } const data = { current: { humidity: 73 } }; console.log(extractData(data));

请注意,我已将您的返回值保留在那里,即具有humidity属性的object 如果您只想要湿度,请不要在其周围使用{}

// (I assume this is a method in a class; otherwise, add `function`)
extractData({current: {humidity}}) {
    return humidity;
}

现场示例:

 function extractData({current: {humidity}}) { return humidity; } const data = { current: { humidity: 73 } }; console.log(extractData(data));


我假设您想要一个 function,但正如 Rittoo 所说,如果您只想获取humidity值,则不需要一个; 例如,请参阅他们的答案。

或者您可以简单地使用以下格式从数据中获取湿度,而无需调用 function。

const {current: { humidity}} = data;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM