使用解构这个特性可以更简单地获取对象或者数组中的数据,最近在项目中经常用到,但是之前不熟悉用法,mark一下
1、数组解构
let obj = ['a','b','c','d'];
let [first] = obj; //解构第一个元素,first值为a
let [,,,last] = obj; //解构最后一个元素
也可以合在一起写, 如 let [first,,,last] = obj;
let [,,third] = obj; //解构其中一个元素,如第三个
有的时候可能需要把数组的第一个元素拆出来,遍历剩下的元素,则可以写成
let [one,...other] = obj;
console.log(one); //a
console.log(other); //["b", "c", "d"]
注意:…操作符只能放到最后。
let [...rest, last] = obj;
//SyntaxError: Rest element must be last element
2、对象解构
let person = {
name: 'sj',
age: '22',
address: {
street: 'rainbow',
number: 42
}
};
let {name,age} = person; //name值为sj, age值为22
如果是解构嵌套的对象,比如上例中的address,有两种方式:
1、 let {street,number} = person.address;
2、 let {address:{street,number}} = person;
如果变量名和属性名不一样的话,也可以这样写:
let {name: fullName} = person;