web-dev-qa-db-ja.com

3つの数値のJavascript max()関数

3つの異なる数字から最高の数字を見つける必要があります。私が見つけた唯一のものはmax()ですが、2つの数字しか使用できません。

最善の方法は何ですか?

40
Ben Shelock

Math.max 関数は、任意の数の引数を受け入れることができます。

構文:

Math.max([value1[,value2[, ...]]]) 

使用法:

var max = Math.max(num1, num2, num3);

例えば:

console.log(Math.max(1,2,3,4,5,6)); //  6

apply を使用して、数値の配列の最大値を取得するために使用することもできます。

function maxOfArray(array) {
  return Math.max.apply(Math, array);
}


let array = [1,2,3,4,5,6];
console.log(maxOfArray(array)); // 6

ES6(ES2015)をターゲットにできる場合は、 スプレッド演算子 も使用できます。

let array = [1,2,3,4,5,6];
let max = Math.max(...array);
console.log(max); // 6
110
CMS

ほとんどすべての言語で、maxを2回使用できます。

Math.max(num1, Math.max(num2, num3))

@CMSが指摘するように、JavaScriptはMath.maxに任意の数のパラメーターを明確に許可します。

Math.max(num1, num2, num3);
20
Eric J.

値を配列arrにプッシュし、それぞれ最大値と最小値にMath.min.apply(null, arr)またはMath.max.apply(null, arr)を使用します。

var arr = [];
arr.Push(value1);
arr.Push(value2);
arr.Push(value3);

var minValue = Math.min.apply(null, arr);
var maxValue = Math.max.apply(null, arr);
2
Scott Pelak

新しいスプレッド演算子で使用する

var num = [23,34,56,72,1,22]; 
Math.max(...num)

詳細

0
ashish yadav