我需要从3个不同的数字中找到最高的数字。我发现的唯一的东西是max(),但你只能使用2个数字。

什么是最好的方式?

有帮助吗?

解决方案

Math.max 功能可以接受任意参数数量:

语法:

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

用法:

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

例如:

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

申请

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

其他提示

几乎任何语言都可以使用max两次:

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

正如@CMS所指出的,JavaScript特别允许任意数量的参数到Math.max:

Math.max(num1, num2, num3);

将值推送到数组 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);

使用新的点差运算符

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

了解更多信息

 var numbers = [2,3,1];
 numbers.sort(function(a,b){return b-a});
 console.log("max number is", numbers[0]); // max number is 3
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top