javascript - 解构嵌套对象

标签 javascript ecmascript-6

我想使用对象析构来简化我的代码。我正在从服务器获取数据并且解析为对象:

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


我假设你想要一个函数,但是as Rittoo says ,如果您只想获取 humidity 的值,则不需要;查看他们的答案以获取示例。

关于javascript - 解构嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63265980/

相关文章:

javascript - jQuery animate() 在 Chrome 中不工作

javascript - 现有函数 "is not a function"

javascript - 如何在 AngularJS 中按对象中的特定属性进行过滤?

javascript - 使用短路运算符抛出错误 - javascript

javascript - 在没有 async 关键字的情况下在全局范围内使用 await

javascript - 当有内部循环时, map 没有返回数组

javascript - 如何显示一个对象已准备好进行垃圾回收?

javascript - 是否可以在 ES6 Set 实例上使用数组迭代方法?

javascript - 可撤销 promise 的状态

javascript - 在for循环中重新初始化let