长阵列的对象解构解决方案?

Roy*_*mir 5 javascript ecmascript-6

看看这段代码:

let lecture = {
    id: 2,
    title: "MyTitle",
    topics: [
    {
        title: "John",
        age: 1
    },
    {
        title: "John2",
        age: 2
    },
    {
        title: "John3",
        age: 3
    }]
}
Run Code Online (Sandbox Code Playgroud)

我想提取主要title属性和age数组中的第三个(通过对象解构)

我可以通过以下方式完成:

let { title:lectureTitle , topics:[,,{age:thirdAge}]} = lecture;
console.log(lectureTitle,thirdAge);//MyTitle 3
Run Code Online (Sandbox Code Playgroud)

但是,如果阵列有100个项目而我想要99' age呢?

那怎么办呢?对象解构是否为此提供了解决方案?

Fel*_*ing 13

但如果阵列有100个项目并且我想要第99个年龄怎么办?

数组是对象,所以这样做:

let {title: lectureTitle, topics: {98: {age: thirdAge}}} = lecture;
Run Code Online (Sandbox Code Playgroud)

请注意[...],解构的类型适用于任何可迭代,而{...}只适用于对象(因此也适用于数组).因此,上述解决方案不适用于任意迭代(并且没有针对此AFAIK的通用解决方案).