Bla*_*bla 2 javascript ecmascript-6
我想使用对象析构来简化我的代码。我从服务器获取数据并且解析是对象:
data = {
current: {
humidity: 73
}
}
Run Code Online (Sandbox Code Playgroud)
最终函数应如下所示,但这不起作用:
extractData({data.current.humidity: humidity }) {
return { humidity };
}
extractData(data);
Run Code Online (Sandbox Code Playgroud)
如何为这种对象做功能?
解构模式就像对象文字,所以你不使用点,你使用嵌套(同样,引用对象 [ data]的变量的名称不相关):
// (I assume this is a method in a class; otherwise, add `function`)
extractData({current: {humidity}}) {
return { humidity };
}
Run Code Online (Sandbox Code Playgroud)
现场示例:
// (I assume this is a method in a class; otherwise, add `function`)
extractData({current: {humidity}}) {
return { humidity };
}
Run Code Online (Sandbox Code Playgroud)
请注意,我将您的返回值保留在那里,它是一个具有属性的对象humidity。如果您只想要湿度值,请不要使用{}在它周围:
// (I assume this is a method in a class; otherwise, add `function`)
extractData({current: {humidity}}) {
return humidity;
}
Run Code Online (Sandbox Code Playgroud)
现场示例:
function extractData({current: {humidity}}) {
return { humidity };
}
const data = {
current: {
humidity: 73
}
};
console.log(extractData(data));Run Code Online (Sandbox Code Playgroud)
我假设您想要一个函数,但正如 Rittoo 所说,如果您只想获取humidity; 以他们的回答为例。