复杂解构:数组第一个索引内的对象位于另一个对象内

Psi*_*Kai 0 javascript destructuring ecmascript-6

考虑这个“复杂”对象:

const obj = {
    nestedArray: [
        { stuff: "things" }
    ],
    nestedObj: {
        key1: "value1",
        key2: "value2"
    }
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种优雅的单行解决方案来解构key1key2stufffrom obj

我当前的解决方案如下所示并且工作得很好:

const { nestedArray, nestedObj: { key1, key2 } } = obj
const { stuff } = nestedArray[0]
Run Code Online (Sandbox Code Playgroud)

但我宁愿在一行中这样做:

const { array[0]: { stuff }, nestedObject: { key1, key2 } } = obj
Run Code Online (Sandbox Code Playgroud)

但显然这行不通。有什么方法可以像我想要的那样在一行中完成此操作吗?还是我对 ES6 要求太高了?我非常乐意接受“不”的答案,只要它提供了一个很好的解释为什么不。

Cer*_*nce 5

虽然有可能,通过列出stuff其在嵌套数组中的位置,与使用具有以下属性的对象声明数组非常相似stuff

const obj = {
    nestedArray: [
        { stuff: "things" }
    ],
    nestedObj: {
        key1: "value1",
        key2: "value2"
    }
};
const { nestedArray: [{ stuff }], nestedObj: { key1, key2 } } = obj;
console.log(stuff);
Run Code Online (Sandbox Code Playgroud)

我不会推荐它 - 这样的代码很难阅读。