javascript - 破坏嵌套对象
问题描述
我想使用对象破坏来简化我的代码。我正在从服务器获取数据,解析是对象:
data = {
current: {
humidity: 73
}
}
最终函数应如下所示,但这不起作用:
extractData({data.current.humidity: humidity }) {
return { humidity };
}
extractData(data);
如何为这种对象做功能?
解决方案
解构模式就像对象文字,所以你不使用点,你使用嵌套(同样,引用对象 [ 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
,如果你只想获得;的值,你就不需要一个函数。例如,请参阅他们的答案。
推荐阅读
- java - 如何检查增强的 for 循环中没有匹配?
- php - 来自 $_POST 数组的 WP update_option()
- python - 难以理解合并 K 个排序列表的递归序列
- python - 给定一个中点、梯度和长度。如何绘制特定长度的线段?
- reactjs - 多次单击侧边栏中的反应链接(使用反应路由器)会导致 url 参数重复
- css - 如果在通用选择器中声明,是否会继承框大小?
- python - 两种不同的进口,为什么一种不起作用?
- python - 如何在excel中始终将单元格列向下移动1?
- css - 如何在 Bootstrap 中设置卡片的最小宽度?
- android - 如何在 Bazel 项目中为 d8 设置命令行标志?