为了账号安全,请及时绑定邮箱和手机立即绑定

破坏嵌套对象

破坏嵌套对象

一只斗牛犬 2022-12-22 13:11:21
我想使用对象析构来简化我的代码。我正在从服务器获取数据并且解析是对象:data = {  current: {     humidity: 73  }}最终函数应如下所示,但这不起作用:extractData({data.current.humidity: humidity  }) {            return { humidity };        }extractData(data);如何为这种对象做功能?
查看完整描述

2 回答

?
萧十郎

TA贡献1815条经验 获得超13个赞

解构模式就像对象文字,所以你不使用点,而是使用嵌套(另外,引用对象 [ 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如果您只想要湿度值,请不要{}在它周围使用:


// (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));

我以为你想要一个函数,但正如 Rittoo 所说,如果你想要做的只是获取 ; 的值,你就不需要一个函数humidity;以他们的答案为例。



查看完整回答
反对 回复 2022-12-22
?
富国沪深

TA贡献1790条经验 获得超9个赞

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

const {current: { humidity}} = data;


查看完整回答
反对 回复 2022-12-22
  • 2 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号