Math.max/min与数组
Math.max()与Math.min() 无法直接接收数组,接受的应该是一组数(一个一个参数)!
解决办法:
1.扩展运算符
扩展运算符用三个点号表示,功能是把数组或类数组对象展开成一系列用逗号隔开的值
console.log(...[1, 2, 3]) // 1 2 3 console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5
Math.max(...[ObjectArray])
2.apply
Math.max.apply(null,arr); Math.min.apply(null,arr);
执行Math对象中的max函数,参数为values;
其中apply 函数为JS的内置函数,作用为执行该函数。且只能被函数调用。
apply函数中的第一个参数为函数所属对象,通常为当前页面(this)。第二个参数为传入到函数中的参数数组(必须为数组)。
var add = function(a,b){ return a+b; } var args = [2,3]; alert(add.apply(this,args));