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

时间:2015-04-08 13:16:46

标签: javascript arrays math max absolute

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

我的阵列就是

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

然后:

Math.max.apply(null,array);

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

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

3 个答案:

答案 0 :(得分:17)

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

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

答案 1 :(得分:3)

试试这个:

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

答案 2 :(得分:0)

如何

<div class="circle">
  <span>Name</span>
  <span>54</span>
  <span>some text</span>
</div>