<script>
/*
关于最大值和最小值:
求最大值的方法是Match.max() 返回值最大的数字:
里面可以传入多个参数,得到我们的最大的值
求最小值的方法是Match.min() 返回值最小的数字:
里面可以传入多个参数,得到我们的最小的值
值得注意的是:
1.如果有任一参数不能被转换为数值,则结果就是nan
Math.max(true, 0) // 1
Math.max(true, '2', null) // 2
Math.max(1, undefined) // NaN
Math.max(1, {}) // NaN
2.如果没有参数,ze结果就是无穷大lnfinity
var min = Math.min();
var max = Math.max();
console.log(min > max);
*/
function lop(a,b){
console.log(a)
console.log(b)
return a+b
}
function kop(nji){
console.log(Math.max(nji))//因为出入的是数组,数组经过number转换是得到nan的,所有是无法得到最大值的
console.log(Math.min(nji))
for(var i=0;i<nji.length;i++){
//1.第一种求最大值的方法
console.log(Math.max(nji[i]))
console.log(Math.min(nji[i]))
console.log("")
//因为reduce是可以传入一个函数作为累计器的,所以又是数组调用,所有就把数组的值传进去了
console.log(nji.reduce(lop))
//2.这样可以得到最后一个值为最大值
console.log(nji.sort(function(a,b){
return a-b
}))
//3.第三种求最大值的方法
/*
eval() 函数计算或执行参数。
如果参数是表达式,则 eval() 计算表达式。如果参数是一个或多个 JavaScript 语句,则 eval() 执行这些语句
*/
var ev=eval("Math.max("+nji+")")
console.log(ev)
//4.第四种求最大值的方法 使用apply()
//因为这是把这里的this指向MATH,然后再把nji这个数组的值传进去
var hui=Math.max.apply(this,nji)
console.log(hui)
//5.使用es6的扩展运算符
var tyu=Math.max(...nji)
console.log(...nji)//这个还可以这么用
console.log(tyu)
}
}
var nji=[1,68,99,51,92,24,77755,756,5,6,2]
kop(nji)
</script>