方法 1 (再帰関数を使用):
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);
方法 2 (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);
メソッド 3 (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));//最小值