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

Find absolute max value in Javascript array

本文关键字:最大值 查找 Javascript 数组      更新时间:2023-09-26

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

我的阵列就是

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

然后:

Math.max.apply(null,array);

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

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

Math.max.apply(null, array.map(Math.abs));

如果您的目标浏览器不支持Array.prototype.map(IE<=8),请使用polyfill或类似sugar.js.

的库

试试这个:

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)))