方法: 1. "Math.max()" 関数を使用して最大値を見つけ、指定された 2 つの数値のうち大きい方の値を返すことができます; 2. 再帰関数を使用して最大値を見つけます。最大値; 3. for ループを使用してトラバースして最大値を見つけます; 4. "Math.max.apply(null, [value, value, value, value...)" ステートメントを使用して最大値を見つけます。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
Math.max
JavaScript は、一連の数値を返す Math.max 関数を提供します。値、使用法は次のとおりです:Math.max([value1[,value2, ...]])
1. 数値に変換できないパラメータがある場合、
Math.max(true, 0) // 1 Math.max(true, '2', null) // 2 Math.max(1, undefined) // NaN Math.max(1, {}) // NaN
2 のように、パラメータを数値に変換できれば比較できることを意味します。パラメーターがない場合、結果は - Infinity になります。これは Math.min 関数に対応します。パラメーターがない場合、結果は Infinity になります。したがって、次のようになります。
var min = Math.min(); var max = Math.max(); console.log(min > max);
Math.max メソッドを理解すると、次のようになります。この要件を満たすためにどのようなメソッドを使用できるかを考えるために、配列の最大値を見つける例を示します。
元のメソッド最も原始的な方法は、もう一度ループすることです:
var arr = [6, 4, 1, 8, 2, 11, 23]; var result = arr[0]; for (var i = 1; i < arr.length; i++) { result = Math.max(result, arr[i]); } console.log(result);
Because It配列を走査して最終値を見つけることです。その後、reduce メソッドを使用できます。
var arr = [6, 4, 1, 8, 2, 11, 23]; function max(prev, next) { return Math.max(prev, next); } console.log(arr.reduce(max));
apply を使用することも別の方法です。
var arr = [6, 4, 1, 8, 2, 11, 23]; console.log(Math.max.apply(null, arr))
ES6 スプレッド演算子を使用します:
var arr = [6, 4, 1, 8, 2, 11, 23]; console.log(Math.max(...arr))
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]; console.log(Math.max.apply(null, a));//最大值 console.log(Math.min.apply(null, a));//最小值
多次元配列は次のように変更できます:
var a=[1,2,3,[5,6],[1,4,8]]; var ta=a.join(",").split(",");//转化为一维数组 console.log(Math.max.apply(null,ta));//最大值 console.log(Math.min.apply(null,ta));//最小值
[関連する推奨事項:
JavaScript 学習チュートリアル以上がJavaScriptで最大値を求める方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。