首先是apply()一個很強大的功能——能將一個數組預設轉化為參數列表!!! 應用: 1.求出一個數組中的最大值 Math.max()方法接受多個參數,但是不接受數組,所以直接Math.max(arr)是無法達到效果的,由apply()將數組轉化成參數列表進行操作。 2.合併數組 ①使用concat ...
首先是apply()一個很強大的功能——能將一個數組預設轉化為參數列表!!!
應用:
1.求出一個數組中的最大值
var arr= [1, 3, 3, 6];
var max =Math.max.apply(null,arr);
alert(max); // 6
Math.max()方法接受多個參數,但是不接受數組,所以直接Math.max(arr)是無法達到效果的,由apply()將數組轉化成參數列表進行操作。
2.合併數組
①使用concat()方法
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()方法不會改變原數組,只能返回一個新的數組。
②迴圈遍歷插入
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中,表達式返回值是數組的長度。