在 Javascript 数组中查找绝对最大值
Find absolute max value in Javascript array
我正在寻找一种找到数组的最大绝对值的好方法。
我的数组是
var array = [10,20,40,-30,-20,50,-60];
然后:
Math.max.apply(null,array);
结果为“50”。但是,实际上,我希望它 return '60'。
选项是使用Math.abs创建第二个数组,但实际上我想知道是否可以组合应用函数,所以这是一个优雅的解决方案。
Math.max.apply(null, array.map(Math.abs));
如果您的目标浏览器不支持 Array.prototype.map (IE<=8),请使用 the polyfill or a library like 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)))
我正在寻找一种找到数组的最大绝对值的好方法。
我的数组是
var array = [10,20,40,-30,-20,50,-60];
然后:
Math.max.apply(null,array);
结果为“50”。但是,实际上,我希望它 return '60'。
选项是使用Math.abs创建第二个数组,但实际上我想知道是否可以组合应用函数,所以这是一个优雅的解决方案。
Math.max.apply(null, array.map(Math.abs));
如果您的目标浏览器不支持 Array.prototype.map (IE<=8),请使用 the polyfill or a library like 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)))