JavaScript 嵌套解构
示例
我们不仅限于解构对象/数组,还可以解构嵌套的对象/数组。
嵌套对象分解
var obj = {
a: {
c: 1,
d: 3
},
b: 2
};
var {
a: {
c: x,
d: y
},
b: z
} = obj;
console.log(x, y, z); //1,3,2嵌套数组解构
var arr = [1, 2, [3, 4], 5]; var [a, , [b, c], d] = arr; console.log(a, b, c, d); //1345
解构不仅限于单个模式,我们还可以在其中具有n级嵌套的数组。同样,我们可以用对象来解构数组,反之亦然。
对象内的数组
var obj = {
a: 1,
b: [2, 3]
};
var {
a: x1,
b: [x2, x3]
} = obj;
console.log(x1, x2, x3); //123数组内的对象
var arr = [1, 2 , {a : 3}, 4];
var [x1, x2 , {a : x3}, x4] = arr;
console.log(x1, x2, x3, x4);