在 JavaScript 中查找数组的最小/最大元素

2022-08-29 22:08:06

如何轻松获取 JavaScript 数组的最小或最大元素?

伪代码示例:

let array = [100, 0, 50]

array.min() //=> 0
array.max() //=> 100

答案 1

如何扩充内置 Array 对象以改用 Math.max/Math.min

Array.prototype.max = function() {
  return Math.max.apply(null, this);
};

Array.prototype.min = function() {
  return Math.min.apply(null, this);
};

let p = [35,2,65,7,8,9,12,121,33,99];

console.log(`Max value is: ${p.max()}` +
  `\nMin value is: ${p.min()}`);

这是一个JSFiddle

扩充内置组件可能会导致与其他库发生冲突(有些参见),因此您可能更习惯于直接“连接到您的数组”:applyMath.xxx()

var min = Math.min.apply(null, arr),
    max = Math.max.apply(null, arr);

或者,假设您的浏览器支持 ECMAScript 6,则可以使用与方法类似的扩展语法apply

var min = Math.min( ...arr ),
    max = Math.max( ...arr );

答案 2
var max_of_array = Math.max.apply(Math, array);

有关完整讨论,请参阅:http://aaroncrane.co.uk/2008/11/javascript_max_api/