1.找出數組中最大的數數組
使用Math.max()函數來獲取最大值,數組是不能直接做爲Math.max()的參數,咱們須要把它展開。在ES6以前,咱們也是須要結合apply來處理:app
var arr = [2, 4, 8, 6, 0]; function max(arr) { return Math.max.apply(null, arr); } console.log(max(arr));
使用ES6擴展運算符(...)函數
var arr = [2, 4, 8, 6, 0]; console.log(Math.max(...arr));
2.複製數組spa
在ES6以前,是不能直接經過賦值的方式複製數組的。code
var arr = ['a', 'b', 'c']; var arr2 = arr; arr2.push('d'); console.log(arr);//輸出['a','b','c','d']
直接賦值的方式,實際上引用的是同一個數組,當任何一個數組裏面的元素髮生變化,兩個數組都會同時改變。blog
ES6使用擴展運算符字符串
var arr = ['a', 'b', 'c']; var arr2 = [...arr]; arr2.push('d'); console.log(arr);//輸出['a','b','c']
雖然arr2添加了元素'd',可是對數組arr來講,它的元素列表是沒有發生改變的。這樣就很簡單實現了複製的功能。io
3.插入數組console
若是咱們要在一個數組插入另一個數組的元素,能夠結合splice和apply使用,如:function
var arr = [1, 2, 3, 4]; var arr1 = ["a", "b", "c", "d"]; arr.splice.apply(arr, [2, 0].concat(arr1)) console.log(arr)// [1, 2, "a", "b", "c", "d", 3, 4]
ES6使用擴展運算符
var arr=[1,2,3,4]; var arr1=["a","b","c","d"] arr.splice(2,0,...arr1) console.log(arr)// [1, 2, "a", "b", "c", "d", 3, 4]
4.將字符串轉化爲數組
var str ="hello"; var str1 = [...str]; console.log(str1)// ["h", "e", "l", "l", "o"]
5.收集剩餘參數
function fn (a,b,...args) { console.log(a)//1 console.log(b)//2 console.log(args)//[3,4,5] } fn(1,2,3,4,5)
6.解構數組
var arr =[1,2,3,4,5]; var [a,b,c,...arr1] = arr; console.log(a,b,c,arr1)//1,2,3[4,5]