在 JavaScript 中查找数组的最小/最大元素
2022-08-29 22:08:06
如何轻松获取 JavaScript 数组的最小或最大元素?
伪代码示例:
let array = [100, 0, 50]
array.min() //=> 0
array.max() //=> 100
如何轻松获取 JavaScript 数组的最小或最大元素?
伪代码示例:
let array = [100, 0, 50]
array.min() //=> 0
array.max() //=> 100
如何扩充内置 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。
扩充内置组件可能会导致与其他库发生冲突(有些参见),因此您可能更习惯于直接“连接到您的数组”:apply
Math.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 );
var max_of_array = Math.max.apply(Math, array);
有关完整讨论,请参阅:http://aaroncrane.co.uk/2008/11/javascript_max_api/