標籤:var log 運算 參數 asc 逆運算 報錯 [] 用法
擴充運算子( 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,[]
es6三點運算子的用法