【问题标题】:Destructure an object parameter two levels?解构一个对象参数的两个级别?
【发布时间】:2016-08-06 21:44:41
【问题描述】:

所以,我将一个对象传递给一个 ES6 函数,我想解构 到参数的参数。例如,下面的代码将记录stuffdata 属性,但我希望它记录stuffdatathings 属性。所以正确答案会记录[1,2,3,4]。我知道,一点也不混乱。有人知道这是否可能吗?

const stuff = {
   data: {
      things: [1,2,3,4]
   }
};
const getThings = ({ data }) => {
   console.log(data)    
};
getThings(stuff);

【问题讨论】:

标签: javascript ecmascript-6


【解决方案1】:

好的,方法如下:

const stuff = {
   data: {
      things: [1,2,3,4]
   }
};
const getThings = ({ data: {things} }) => {
   console.log(things)    
};
getThings(stuff);

【讨论】:

  • 如果你想在同一个解构之后有对数据和事物的引用怎么办?还是你有两个单独的解构语句?
【解决方案2】:

按照我的正确理解,正确答案是:

const getThings = ({ data: { things } }) => {
   console.log(things)    
};

【讨论】:

    猜你喜欢
    • 2020-02-08
    • 1970-01-01
    • 2019-01-08
    • 2020-05-23
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2022-12-07
    • 1970-01-01
    相关资源
    最近更新 更多