<h1>5、解构赋值(二)</h1>
<div><h3>5.2、数组解构</h3>
<p>
<span>在ES6中,对象和数组可以使用解构功能,可以按照一定模式从对象和数组中提取值,对变量进行赋值。数组解构是使用方括号。</span>
<br>例:<pre>
let arr=[1,2,3];
let [a,b,c]=arr;
console.log(a);//1
console.log(b);//2
console.log(c);//3
</pre>
变量值是根据数组中元素的顺序进行选取的。无论数组中的元素有多少个,都可以通过let[,,c]=arr的方式来获取。
</p>
<p>
<span>对于已经声明过的变量,不需要使用圆括号包裹解构语句。C前面的逗号是占位符,不管数组中的元素有多少个,都可以通过这种方式提取想要的元素。</span>
<br>例:
<pre>
let arr=[1,2,3];
let a,b,c;
[a,b,c]=arr;//ok
</pre>
</p>
<p>
<span>如果变量之前已经声明了,那么需要使用圆括号把整个解构赋值语句包起来。</span>
<br>例:<pre>
let title,isbn,price;
({title,isbn,price})=book;
</pre>
</p>
<p>
<span>在数组解构赋值表达式为数组中任意位置添加默认值,当指定元素不在在于或者其值为undefined时使用函数</span>
<br>例:<pre>
let arr=[1,2,3];
let [a,b,c,d=0];
console.log(d);//0
</pre>
</p>
<p>
<span>嵌套数组解构只在原来的数组结构模式中插入另一个数组解构模式,即可将解构过程深入下一层。</span>
<br>例:<pre>
let categories=["C/C++",["vue","react"],"java"];
let [language1,[,language2]]=categories;
console.log(language1);//c/c++
console.log(language2);//react
</pre>
变量language2两侧的方括号表示该变量的值应该到下一层去查找,language2前面的逗号跳过了数组内部的第一个元素,所以值是react
</p>
</div>