繁体   English   中英

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

[英]Find absolute max value in Javascript array

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

我的阵列是ie

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

然后:

Math.max.apply(null,array);

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

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

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

如果定位的浏览器不支持Array.prototype.map(IE <= 8),使用的填充工具或类似的的文库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)))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM