<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
例1:获取sth的street值和prices的第二个项:
let sth = {
orderld: "123456",
address: {
city: "hz",
street: "xihu"
},
prices: [10, 20, 30]
}
let {
address,
prices
} = sth
console.log(address.street, prices[1]) //xihu 20
对象的解构与数组有一个重要的不同。数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值。
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
例2:
let obj = {
p: ['Hello', { y: 'World'} ]
};
let {
p: [ x, { y } ]
} = obj;
console.log(x,y) // Hello World
console.log(p) // p is not defined
注意,这时p是模式,不是变量,因此不会被赋值。如果p也要作为变量赋值,可以写成下面这样。
let obj = {
p: ['Hello', { y: 'World'} ]
};
let {
p,
p: [ x, { y } ]
} = obj;
console.log(x,y) // Hello World
console.log(p) // (2) ["Hello", {…}]0: "Hello"1: {y: "World"}length: 2__proto__: Array(0)
<><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
参考https://blog.csdn.net/ixygj197875/article/details/79069723
网友评论