You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ES6如何一行实现包含数组首元素的多层嵌套结构复杂解构?

问题解答

ES6完全支持一行完成这种包含数组元素的复杂嵌套解构,你编写的代码无法运行是存在两个语法错误,并非该特性不支持。

正确的一行解构写法

const { nestedArray: [{ stuff }], nestedObj: { key1, key2 } } = obj

代码报错原因

  • 属性名不匹配:原对象的数组属性名为nestedArray而非array,嵌套对象属性名为nestedObj而非nestedObject,解构时左侧的键名必须和原对象的属性完全对应才能正确取值。
  • 数组元素解构语法错误:对象解构的左侧不能直接用数组[下标]的写法,要提取数组指定位置的元素,需要在对应属性的位置使用和原结构匹配的数组解构语法:这里要取nestedArray的第0项,所以写[{ stuff }],就会自动把数组第0个元素的stuff属性提取为变量。

解构的核心规则就是左侧的结构和原数据的结构完全对应,不管是对象套数组、数组套对象、还是任意层级的嵌套,都可以按照这个规则写在一行里完成解构。

内容的提问来源于stack exchange,提问作者PsiKai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 18:09:02