推荐答案
// www.javascriptcn.com code example // 基本数组解构赋值 const [a, b, c] = [1, 2, 3]; console.log(a); // 输出: 1 console.log(b); // 输出: 2 console.log(c); // 输出: 3 // 跳过某些元素 const [x, , z] = [10, 20, 30]; console.log(x); // 输出: 10 console.log(z); // 输出: 30 // 默认值 const [p = 5, q = 10] = [1]; console.log(p); // 输出: 1 console.log(q); // 输出: 10 // 嵌套数组解构 const [m, [n, o]] = [100, [200, 300]]; console.log(m); // 输出: 100 console.log(n); // 输出: 200 console.log(o); // 输出: 300 // 剩余元素 const [first, ...rest] = [1, 2, 3, 4, 5]; console.log(first); // 输出: 1 console.log(rest); // 输出: [2, 3, 4, 5]
本题详细解读
1. 基本数组解构赋值
数组解构赋值允许你从数组中提取值,并将它们赋值给变量。语法非常简单,使用方括号 [] 来匹配数组中的元素。
const [a, b, c] = [1, 2, 3];
在这个例子中,a 被赋值为 1,b 被赋值为 2,c 被赋值为 3。
2. 跳过某些元素
如果你只想提取数组中的某些元素,可以使用逗号 , 来跳过不需要的元素。
const [x, , z] = [10, 20, 30];
在这个例子中,x 被赋值为 10,z 被赋值为 30,而中间的 20 被跳过了。
3. 默认值
在解构赋值时,可以为变量设置默认值。如果数组中的对应位置没有值,或者值为 undefined,则会使用默认值。
const [p = 5, q = 10] = [1];
在这个例子中,p 被赋值为 1,而 q 由于数组中没有对应的值,因此使用了默认值 10。
4. 嵌套数组解构
数组解构赋值也支持嵌套数组的解构。你可以通过嵌套的方括号来提取嵌套数组中的值。
const [m, [n, o]] = [100, [200, 300]];
在这个例子中,m 被赋值为 100,n 被赋值为 200,o 被赋值为 300。
5. 剩余元素
你可以使用剩余参数语法 ... 来捕获数组中的剩余元素,并将它们赋值给一个变量。
const [first, ...rest] = [1, 2, 3, 4, 5];
在这个例子中,first 被赋值为 1,而 rest 被赋值为 [2, 3, 4, 5],即数组中剩余的元素。