方法一(使用遞歸函數):
var arr = [9,8,55,66,49,68,109,55,33,6,2,1]; var max = arr[0]; function findMax( i ){ if( i == arr.length ) return max; if( max < arr[i] ) max = arr[i]; findMax(i+1); } findMax(1); console.log(max);
方法二(使用for迴圈遍歷):
var arr = [9,8,55,66,49,68,109,55,33,6,2,1]; var max = arr[0]; for(var i = 1; i < arr.length; i++){ if( max < arr[i] ){ max = arr[i]; } } console.log(max);
方法三(使用apply將陣列傳入max方法中直接回傳):
Math.max.apply(null,[9,8,55,66,49,68,109,55,33,6,2,1])
備註:除此之外,還有很多數組排序方式,都可以在排序後,根據新數組索引值取得 最大/最小 值。
var a=[1,2,3,5]; alert(Math.max.apply(null, a));//最大值 alert(Math.min.apply(null, a));//最小值
多維數組可以這麼修改:
var a=[1,2,3,[5,6],[1,4,8]]; var ta=a.join(",").split(",");//转化为一维数组 alert(Math.max.apply(null,ta));//最大值 alert(Math.min.apply(null,ta));//最小值