首先是apply()一個很強大的功能——能將一個數組默認轉化爲參數列表!!!數組
應用:app
1.求出一個數組中的最大值spa
var arr= [1, 3, 3, 6]; var max =Math.max.apply(null,arr); alert(max); // 6
Math.max()方法接受多個參數,可是不接受數組,因此直接Math.max(arr)是沒法達到效果的,由apply()將數組轉化成參數列表進行操做。prototype
2.合併數組code
①使用concat()方法blog
var arr1 = [1, 3, 3, 6]; var arr2 = [2, 4, 5, 6]; var arr = arr1.concat(arr2); alert(arr); // [1,3,3,6,2,4,5,6]
concat()方法不會改變原數組,只能返回一個新的數組。class
②循環遍歷插入循環
var arr1 = [1, 3, 3, 6]; var arr2 = [2, 4, 5, 6]; var arr2Len = arr2.length; for(var i=0; i<arr2Len; i++){ arr1.push(arr2[i]); } alert(arr1); // [1,3,3,6,2,4,5,6]
③apply()方法遍歷
var arr1 = [1, 3, 3, 6]; var arr2 = [2, 4, 5, 6]; var arr = Array.prototype.push.apply(arr1, arr2); alert(arr); //8 alert(arr1); // [1,3,3,6,2,4,5,6]
直接將arr2中的內容插入到arr1中,表達式返回值是數組的長度。方法