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);