我正在寻找一种很好的方法来找到数组的最大ABSOLUTE值。
我的阵列就是
var array = [10,20,40,-30,-20,50,-60];
然后:
Math.max.apply(null,array);
将导致'50'。但实际上,我希望它返回'60'。
选项是使用Math.abs创建第二个数组,但实际上我想知道是否可以组合apply函数,所以它是一个优雅的解决方案。
答案 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>