es6三點運算符的用法


擴展運算符( spread )是三個點(...)。它好比 rest 參數的逆運算,將一個數組轉為用逗號分隔的參數序列。

 1 console.log(...[1,2,3]); // 1 2 3 2 console.log(1,...[1,2,3],5); // 1 1 2 3 5 

 

合並多個數組

通過push函數,將一個數組添加到另一個數組的尾部;有了擴展運算符,就可以直接將數組傳入push方法;

擴展運算符提供了數組合並的新寫法。

1     var arr1 = [0,1,2];
2     var arr2 = [3,4,5];
3     arr1.push(...arr2); // [0,1,2,3,4,5]
4     console.log(arr1);
1     var arr4 = ['a','b'];
2     var arr5 = ['c'];
3     var arr6 = ['d','e'];
4     // es5合並數組
5     arr4.concat(arr5,arr6);
6     // es6合並數組
7     var newArr = [...arr4,...arr5,...arr6];
8     console.log(newArr);

簡化求出一個數組最大元素的寫法,由於 JavaScript 不提供求數組最大元素的函數,所以只能套用Math.max函數,將數組轉為一個參數序列,然后求最大值。有了擴展運算符以后,就可以直接用Math.max了。

 1 console.log(Math.max(...[14,2,7])); // 14  

擴展運算符賦值

如果將擴展運算符用於數組賦值,只能放在參數的最后一位,否則會報錯

 1     const [first,...rest] = [1,2,3,4,5];
 2     console.log(first); // 1
 3     console.log(rest); // [2,3,4,5]
 4 
 5     // 如果將擴展運算符用於數組賦值,只能放在參數的最后一位,否則會報錯。
 6     const [f,...r] = [];
 7     console.log(f,r); // undfined,[]
 8 
 9     const [f1,...r1] = ["foo"];
10     console.log(f1,r1); // foo,[]

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM