es6解构赋值可按位置提取数组元素,用逗号跳过不关心项,剩余运算符捕获连续片段,支持默认值和嵌套结构解构。

ES6 解构赋值可以从数组中按位置快速提取指定元素,不需要反复写 arr[index],核心是用逗号占位跳过不关心的项,或用剩余运算符捕获连续片段。
用逗号跳过中间元素
想取第1个和第3个元素(索引 0 和 2),中间的跳过:
const [first, , third] = [10, 20, 30];<br>console.log(first, third); // 10 30
每个逗号代表一个“空位”,位置必须对齐。多逗号可跳过多个:
const [, , , fourth] = [1, 2, 3, 4]; // fourth = 4const [a, , , d, , f] = [1,2,3,4,5,6]; // a=1, d=4, f=6
提取开头或结尾的若干个元素
取前两个:const [x, y] = [1, 2, 3, 4]; // x=1, y=2
取后两个(需配合剩余运算符):const [, , ...lastTwo] = [1, 2, 3, 4]; // lastTwo = [3, 4]
注意:剩余运算符 ... 必须放在最后一位变量前,且只能出现一次。
用于 inference.sh 的 JavaScript/TypeScript SDK,可运行 AI 应用、构建代理、集成 150+ 模型。包名:@inferencesh/sdk(npm install),完整 TypeScript 支持。
带默认值处理可能缺失的情况
当数组长度不足时,解构变量会是 undefined;加默认值可避免出错:
const [a = 0, b = 0, c = 0] = [5]; // a=5, b=0, c=0
默认值只在对应位置值为 undefined 时生效,null、0、false 等都会被原样赋值。
嵌套结构里定位深层元素
如果数组里还嵌套数组,可以一层层解构直达目标:
const [,,[innerA, innerB]] = [1, 2, [3, 4, 5]];<br>console.log(innerA, innerB); // 3 4
这种写法比 arr[2][0] 更清晰,尤其适合固定结构的数据解析。










