在Javascript数组中查找绝对最大值

在Javascript数组中查找绝对最大值,javascript,arrays,math,max,absolute,Javascript,Arrays,Math,Max,Absolute,我正在寻找一种很好的方法来找到数组的最大绝对值 我的数组是 var array = [10,20,40,-30,-20,50,-60]; 然后: 将导致“50”。但是,实际上,我希望它返回“60” 选项是使用Math.abs创建第二个数组,但实际上我想知道是否可以组合应用函数,因此这是一个优雅的解决方案 Math.max.apply(null, array.map(Math.abs)); 如果目标浏览器不支持Array.prototype.map(即请尝试以下操作: var array =

我正在寻找一种很好的方法来找到数组的最大绝对值

我的数组是

var array = [10,20,40,-30,-20,50,-60];
然后:

将导致“50”。但是,实际上,我希望它返回“60”

选项是使用Math.abs创建第二个数组,但实际上我想知道是否可以组合应用函数,因此这是一个优雅的解决方案

Math.max.apply(null, array.map(Math.abs));
如果目标浏览器不支持Array.prototype.map(即请尝试以下操作:

var array = [10,20,40,-30,-20,50,-60];
var absMax = array.reduce(function(max, item){
    return Math.max(Math.abs(max),Math.abs(item));
});

这是怎么回事

var array = [10,20,40,-30,-20,50,-60];    
return Math.max(...array.map(a => Math.abs(a)))

谢谢你,上面的答案有点优雅,但是你的答案给了我一些很好的“啊哈”。关于JS还有很多需要学习的地方。绝对是2020年最好的方法:)
var array = [10,20,40,-30,-20,50,-60];    
return Math.max(...array.map(a => Math.abs(a)))