1. 程式人生 > 實用技巧 >ES6語法簡介——5、解構賦值(二)

ES6語法簡介——5、解構賦值(二)

5、解構賦值(二)

5.2、陣列解構

在ES6中,物件和陣列可以使用解構功能,可以按照一定模式從物件和陣列中提取值,對變數進行賦值。陣列解構是使用方括號。
例:

                let arr=[1,2,3];
                let [a,b,c]=arr;
                console.log(a);//1
                console.log(b);//2
                console.log(c);//3
            
變數值是根據陣列中元素的順序進行選取的。無論陣列中的元素有多少個,都可以通過let[,,c]=arr的方式來獲取。

對於已經宣告過的變數,不需要使用圓括號包裹解構語句。C前面的逗號是佔位符,不管陣列中的元素有多少個,都可以通過這種方式提取想要的元素。
例:

                let arr=[1,2,3];
                let a,b,c;
                [a,b,c]=arr;//ok
            

如果變數之前已經聲明瞭,那麼需要使用圓括號把整個解構賦值語句包起來。
例:

                let title,isbn,price;
                ({title,isbn,price})=book;
            

在陣列解構賦值表示式為陣列中任意位置新增預設值,當指定元素不在在於或者其值為undefined時使用函式
例:

                let arr=[1,2,3];
                let [a,b,c,d=0];
                console.log(d);//0
            

巢狀陣列解構只在原來的陣列結構模式中插入另一個數組解構模式,即可將解構過程深入下一層。
例:

                let categories=["C/C++",["vue","react"],"java"];
                let [language1,[,language2]]=categories;
                console.log(language1);//c/c++
                console.log(language2);//react
            
變數language2兩側的方括號表示該變數的值應該到下一層去查詢,language2前面的逗號跳過了陣列內部的第一個元素,所以值是react